22 - Add Feature\TestCase base class with RefreshDatabase to enforce test isolation under PG
This commit is contained in:
parent
504d5c4247
commit
6b4d29b8b3
11 changed files with 18 additions and 35 deletions
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Tests\TestCase;
|
||||
|
||||
class BotPageTest extends TestCase
|
||||
{
|
||||
public function test_bot_page_renders_at_public_route(): void
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
13
tests/Feature/TestCase.php
Normal file
13
tests/Feature/TestCase.php
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase as BaseTestCase;
|
||||
|
||||
abstract class TestCase extends BaseTestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
}
|
||||
|
|
@ -9,17 +9,13 @@
|
|||
use App\Models\PageLink;
|
||||
use Carbon\CarbonImmutable;
|
||||
use Illuminate\Events\CallQueuedListener;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Facades\Queue;
|
||||
use Lvl0\FediDiscover\Config\InstanceType;
|
||||
use Lvl0\FediDiscover\Events\UrlDiscovered;
|
||||
use Lvl0\FediDiscover\Models\Instance;
|
||||
use Tests\TestCase;
|
||||
|
||||
class UrlDiscoveryTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Helpers
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -7,15 +7,11 @@
|
|||
use App\Enums\PageStatusEnum;
|
||||
use App\Livewire\UrlSubmissionForm;
|
||||
use App\Models\Page;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Livewire\Livewire;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
use Tests\TestCase;
|
||||
|
||||
class UrlSubmissionTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Test 1 — route renders the submission form
|
||||
// -------------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Reference in a new issue