From 6b4d29b8b3cf4a78e62dfbb39daa5cbcc62050e8 Mon Sep 17 00:00:00 2001 From: myrmidex Date: Thu, 30 Apr 2026 00:26:07 +0200 Subject: [PATCH] 22 - Add Feature\TestCase base class with RefreshDatabase to enforce test isolation under PG --- tests/Feature/Actions/FetchPageActionTest.php | 2 +- tests/Feature/Admin/InstancesAdminPageTest.php | 5 +---- tests/Feature/BotPageTest.php | 2 -- tests/Feature/Jobs/ProcessCrawlJobTest.php | 5 +---- tests/Feature/Listeners/PollFailedListenerTest.php | 5 +---- tests/Feature/PageQueuePopulationTest.php | 4 ---- tests/Feature/PollFailedIntegrationTest.php | 4 ---- tests/Feature/Services/PollAlertServiceTest.php | 5 +---- tests/Feature/TestCase.php | 13 +++++++++++++ tests/Feature/UrlDiscoveryTest.php | 4 ---- tests/Feature/UrlSubmissionTest.php | 4 ---- 11 files changed, 18 insertions(+), 35 deletions(-) create mode 100644 tests/Feature/TestCase.php diff --git a/tests/Feature/Actions/FetchPageActionTest.php b/tests/Feature/Actions/FetchPageActionTest.php index 826c755..a2c165f 100644 --- a/tests/Feature/Actions/FetchPageActionTest.php +++ b/tests/Feature/Actions/FetchPageActionTest.php @@ -12,7 +12,7 @@ use GuzzleHttp\Psr7\Request; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Http; -use Tests\TestCase; +use Tests\Feature\TestCase; class FetchPageActionTest extends TestCase { diff --git a/tests/Feature/Admin/InstancesAdminPageTest.php b/tests/Feature/Admin/InstancesAdminPageTest.php index fb633d7..c7492f0 100644 --- a/tests/Feature/Admin/InstancesAdminPageTest.php +++ b/tests/Feature/Admin/InstancesAdminPageTest.php @@ -6,15 +6,12 @@ use App\Enums\PageStatusEnum; use App\Models\Page; -use Illuminate\Foundation\Testing\RefreshDatabase; use Lvl0\FediDiscover\Config\InstanceType; use Lvl0\FediDiscover\Models\Instance; -use Tests\TestCase; +use Tests\Feature\TestCase; class InstancesAdminPageTest extends TestCase { - use RefreshDatabase; - public function test_admin_instances_page_is_accessible(): void { $response = $this->get('/admin/instances'); diff --git a/tests/Feature/BotPageTest.php b/tests/Feature/BotPageTest.php index e544b00..3c4bfdd 100644 --- a/tests/Feature/BotPageTest.php +++ b/tests/Feature/BotPageTest.php @@ -4,8 +4,6 @@ namespace Tests\Feature; -use Tests\TestCase; - class BotPageTest extends TestCase { public function test_bot_page_renders_at_public_route(): void diff --git a/tests/Feature/Jobs/ProcessCrawlJobTest.php b/tests/Feature/Jobs/ProcessCrawlJobTest.php index 4f07f80..cdca8be 100644 --- a/tests/Feature/Jobs/ProcessCrawlJobTest.php +++ b/tests/Feature/Jobs/ProcessCrawlJobTest.php @@ -12,18 +12,15 @@ use App\Models\PageCrawl; use App\ValueObjects\FetchResult; use Carbon\Carbon; -use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Queue; use Mockery; -use Tests\TestCase; +use Tests\Feature\TestCase; class ProcessCrawlJobTest extends TestCase { - use RefreshDatabase; - public function test_creating_a_page_crawl_dispatches_process_crawl_job(): void { Queue::fake(); diff --git a/tests/Feature/Listeners/PollFailedListenerTest.php b/tests/Feature/Listeners/PollFailedListenerTest.php index abd706b..f41a52e 100644 --- a/tests/Feature/Listeners/PollFailedListenerTest.php +++ b/tests/Feature/Listeners/PollFailedListenerTest.php @@ -8,17 +8,14 @@ use App\Services\PollAlertService; use Carbon\CarbonImmutable; use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Foundation\Testing\RefreshDatabase; use Lvl0\FediDiscover\Config\InstanceType; use Lvl0\FediDiscover\Events\PollFailed; use Lvl0\FediDiscover\Models\Instance; use Mockery; -use Tests\TestCase; +use Tests\Feature\TestCase; class PollFailedListenerTest extends TestCase { - use RefreshDatabase; - public function test_handle_calls_record_failure_with_the_event_instance_and_message(): void { $instance = Instance::factory() diff --git a/tests/Feature/PageQueuePopulationTest.php b/tests/Feature/PageQueuePopulationTest.php index 943d79c..17d64fd 100644 --- a/tests/Feature/PageQueuePopulationTest.php +++ b/tests/Feature/PageQueuePopulationTest.php @@ -7,13 +7,9 @@ use App\Models\Page; use App\Models\PageCrawl; use App\Services\UrlService; -use Illuminate\Foundation\Testing\RefreshDatabase; -use Tests\TestCase; class PageQueuePopulationTest extends TestCase { - use RefreshDatabase; - public function test_creating_a_page_inserts_a_page_crawl_row(): void { $url = 'https://example-blog.com/article'; diff --git a/tests/Feature/PollFailedIntegrationTest.php b/tests/Feature/PollFailedIntegrationTest.php index 96dd973..483b353 100644 --- a/tests/Feature/PollFailedIntegrationTest.php +++ b/tests/Feature/PollFailedIntegrationTest.php @@ -4,18 +4,14 @@ namespace Tests\Feature; -use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Http; use Lvl0\FediDiscover\Actions\PollFediverseAction; use Lvl0\FediDiscover\Config\InstanceType; use Lvl0\FediDiscover\Models\Instance; use RuntimeException; -use Tests\TestCase; class PollFailedIntegrationTest extends TestCase { - use RefreshDatabase; - public function test_poll_failure_increments_consecutive_poll_failures_via_full_chain(): void { Http::fake(); diff --git a/tests/Feature/Services/PollAlertServiceTest.php b/tests/Feature/Services/PollAlertServiceTest.php index 714f359..ff63766 100644 --- a/tests/Feature/Services/PollAlertServiceTest.php +++ b/tests/Feature/Services/PollAlertServiceTest.php @@ -5,16 +5,13 @@ namespace Tests\Feature\Services; use App\Services\PollAlertService; -use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Http; use Lvl0\FediDiscover\Config\InstanceType; use Lvl0\FediDiscover\Models\Instance; -use Tests\TestCase; +use Tests\Feature\TestCase; class PollAlertServiceTest extends TestCase { - use RefreshDatabase; - public function test_record_failure_increments_consecutive_poll_failures_on_the_instance(): void { $instance = Instance::factory() diff --git a/tests/Feature/TestCase.php b/tests/Feature/TestCase.php new file mode 100644 index 0000000..684a505 --- /dev/null +++ b/tests/Feature/TestCase.php @@ -0,0 +1,13 @@ +