feat: add UserResource with is_admin toggle and delete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ovidiu U
2026-04-04 14:17:50 +01:00
parent 9998a3e1c8
commit d602c8bde4
6 changed files with 176 additions and 1 deletions

View File

@@ -0,0 +1,44 @@
<?php
use App\Filament\Resources\UserResource\Pages\EditUser;
use App\Filament\Resources\UserResource\Pages\ListUsers;
use App\Models\User;
use Filament\Actions\DeleteAction;
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 user list', function () {
$users = User::factory()->count(3)->create();
Livewire::test(ListUsers::class)
->assertOk()
->assertCanSeeTableRecords($users);
});
it('can toggle is_admin on edit', function () {
$user = User::factory()->create(['is_admin' => false]);
Livewire::test(EditUser::class, ['record' => $user->id])
->fillForm(['is_admin' => true])
->call('save')
->assertHasNoFormErrors();
expect($user->fresh()->is_admin)->toBeTrue();
});
it('can delete a user', function () {
$user = User::factory()->create();
Livewire::test(ListUsers::class)
->callTableAction(DeleteAction::class, $user)
->assertHasNoTableActionErrors();
$this->assertDatabaseMissing('users', ['id' => $user->id]);
});