actingAsPanelAdmin(); app(AuditLogger::class)->log('user.disable', [ 'target_type' => 'user', 'target' => 'jkowalski', 'reason' => 'porzucone konto', ]); $entry = AuditLog::query()->latest('id')->first(); $this->assertSame('user.disable', $entry->action); $this->assertSame('tester', $entry->actor); $this->assertSame('jkowalski', $entry->target); $this->assertSame('porzucone konto', $entry->reason); $this->assertNotNull($entry->created_at); } public function test_it_falls_back_to_system_actor_without_a_session(): void { app(AuditLogger::class)->log('config.settings'); $this->assertDatabaseHas('panel_audit', ['action' => 'config.settings', 'actor' => 'system']); } public function test_a_write_failure_does_not_bubble_up(): void { // Tabela zniknęła - log nie może powstać, ale metoda nie może rzucić. Schema::drop('panel_audit'); app(AuditLogger::class)->log('user.delete', ['target' => 'x']); $this->assertTrue(true); } }