33 lines
889 B
PHP
33 lines
889 B
PHP
<?php
|
|
|
|
use App\Filament\Resources\ApiLogResource\Pages\ListApiLogs;
|
|
use App\Models\ApiLog;
|
|
use App\Models\User;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Livewire\Livewire;
|
|
|
|
uses(RefreshDatabase::class);
|
|
|
|
beforeEach(function () {
|
|
$this->admin = User::factory()->admin()->create();
|
|
$this->actingAs($this->admin);
|
|
});
|
|
|
|
it('renders the api log list page', function () {
|
|
$logs = ApiLog::factory()->count(3)->create();
|
|
|
|
Livewire::test(ListApiLogs::class)
|
|
->assertOk()
|
|
->assertCanSeeTableRecords($logs);
|
|
});
|
|
|
|
it('filters to errors only', function () {
|
|
$ok = ApiLog::factory()->create(['status_code' => 200, 'error' => null]);
|
|
$err = ApiLog::factory()->failed()->create();
|
|
|
|
Livewire::test(ListApiLogs::class)
|
|
->filterTable('errors_only')
|
|
->assertCanSeeTableRecords([$err])
|
|
->assertCanNotSeeTableRecords([$ok]);
|
|
});
|