Class: Glib::NonHttpIntegrationTest

Inherits:
ActiveSupport::TestCase
  • Object
show all
Includes:
ActiveJob::TestHelper
Defined in:
lib/glib/non_http_integration_test.rb

Overview

The truthful base for full-stack side-effect tests (jobs, mailers, channels): real DB, fixtures, deliveries and enqueued-job execution — but no HTTP verbs. Use it when the contract under test is a side effect (a job's record mutations, a mailer's body and links) rather than an HTTP response; tests that DO assert responses belong on Glib::IntegrationTest.

Deliberately NOT a descendant of ActionDispatch::IntegrationTest, for the same reasons as Glib::LastResortUnitTest: the declaration line states the test type honestly, and the HTTP verb helpers are structurally absent, so a side-effect test cannot silently drift into half-integration territory. Unlike LastResortUnitTest this base is not a confession — jobs and mailers genuinely have no HTTP surface of their own — but it is confined all the same: DevDoc/Test/RequireUnitTestJustification only permits it inside the side-effect directories (test/jobs/, test/mailers/, test/channels/), because anywhere else it would evade that directory's enforcement.

Project-wide helpers attached to ActiveSupport::TestCase (fixtures, glib_travel, coverage) are inherited as usual; ActiveJob::TestHelper is included here because running the very jobs under test (perform_enqueued_jobs) is this tier's bread and butter.