From 93a65afbe04e9fecb84a62de89c8ccf30a9e6d00 Mon Sep 17 00:00:00 2001 From: Lloric Mayuga Garcia Date: Sun, 25 Aug 2024 13:04:34 +0800 Subject: [PATCH] fix test Signed-off-by: Lloric Mayuga Garcia --- tests/Actions/EditRoleActionTest.php | 34 ------------ tests/Helpers.php | 11 +++- .../RoleResource/Pages/EditRoleTest.php | 55 +++++++++++++++++++ 3 files changed, 65 insertions(+), 35 deletions(-) delete mode 100644 tests/Actions/EditRoleActionTest.php create mode 100644 tests/Resources/RoleResource/Pages/EditRoleTest.php 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); +});