diff --git a/tests/Actions/EditRoleActionTest.php b/tests/Actions/EditRoleActionTest.php deleted file mode 100644 index 011aff7..0000000 --- a/tests/Actions/EditRoleActionTest.php +++ /dev/null @@ -1,34 +0,0 @@ - $roles */ - $roles = app(RoleContract::class)::whereIn('name', PermissionConfig::roleNamesByGuardName())->get(); - - $action = app(EditRoleAction::class); - - foreach ($roles as $role) { - - try { - $action->execute($role, new RoleData(name: fake()->word(), permissions: [], guard_name: null)); - - assertTrue(false); - } catch (\Exception $e) { - assertTrue(true); - } - } - -}); diff --git a/tests/Helpers.php b/tests/Helpers.php index 67804e3..1b36161 100644 --- a/tests/Helpers.php +++ b/tests/Helpers.php @@ -18,7 +18,6 @@ function loginAsSuperAdmin() return $user; } -// get user admin role function getSuperAdminRole(): RoleContract & Model { /** @var RoleContract&Model $role */ @@ -29,6 +28,16 @@ function getSuperAdminRole(): RoleContract & Model return $role; } +function getAdminRole(): RoleContract & Model +{ + /** @var RoleContract&Model $role */ + $role = app(RoleContract::class)->findByName( + name: PermissionConfig::admin(), + ); + + return $role; +} + function createRole(string $name, ?string $guard = null): RoleContract & Model { /** @var RoleContract&Model $role */ diff --git a/tests/Resources/RoleResource/Pages/EditRoleTest.php b/tests/Resources/RoleResource/Pages/EditRoleTest.php new file mode 100644 index 0000000..651bc82 --- /dev/null +++ b/tests/Resources/RoleResource/Pages/EditRoleTest.php @@ -0,0 +1,55 @@ +word(); + + $role = createRole($name); + + livewire(EditRole::class, ['record' => $role->getRouteKey()]) + ->fillForm([ + 'name' => $name . ' new', + 'guard_name' => PermissionConfig::defaultGuardName(), + ]) + ->call('save') + ->assertSuccessful(); + + assertDatabaseCount('roles', 3); + assertDatabaseHas('roles', [ + 'name' => $name . ' new', + ]); +}); +it('can not update admin', function () { + + assertDatabaseCount('roles', 2); + + $name = fake()->word(); + + livewire(EditRole::class, ['record' => getAdminRole()->getRouteKey()]) + ->fillForm([ + 'name' => $name, + 'guard_name' => PermissionConfig::defaultGuardName(), + ]) + ->call('save') + ->assertStatus(400); + + assertDatabaseCount('roles', 2); +});