fix: cash record policy, observer, n+1 query

This commit is contained in:
2026-05-11 18:56:54 +00:00
parent 3bc0fa58ac
commit f89bedb0fd
6 changed files with 27 additions and 29 deletions
+8 -2
View File
@@ -82,8 +82,14 @@ class CashRecordObserverTest extends TestCase
$record = $this->makeRecord(100_000);
$record->update(['verified_by' => $this->user->id, 'verified_at' => now()]);
$this->expectException(\Illuminate\Auth\Access\AuthorizationException::class);
// Beri permission Delete:CashRecord agar Policy logic yang diuji (bukan permission check)
\Spatie\Permission\Models\Permission::firstOrCreate(['name' => 'Delete:CashRecord', 'guard_name' => 'web']);
$this->user->givePermissionTo('Delete:CashRecord');
$record->delete();
// CashRecordPolicy::delete() return false jika verified_at !== null
$this->assertFalse(
$this->user->can('delete', $record),
'User seharusnya tidak bisa menghapus transaksi yang sudah diverifikasi.'
);
}
}