feat: add admin seeder and is_admin factory state

Runs is_admin migration, adds AdminSeeder for the admin user, registers
it in DatabaseSeeder, adds admin() factory state to UserFactory, and
adds AdminAccessTest covering both forbidden and ok cases.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ovidiu U
2026-04-04 13:54:28 +01:00
parent a0e74f2363
commit cde3a27cff
4 changed files with 51 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
<?php
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
it('denies non-admin users access to admin panel', function () {
$user = User::factory()->create();
$this->actingAs($user);
$this->get('/admin')->assertForbidden();
});
it('allows admin users to access admin panel', function () {
$user = User::factory()->admin()->create();
$this->actingAs($user);
$this->get('/admin')->assertOk();
});