Class: Glib::NonHttpIntegrationTest
- Inherits:
-
ActiveSupport::TestCase
- Object
- ActiveSupport::TestCase
- Glib::NonHttpIntegrationTest
- 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.