|
@@ -2,9 +2,11 @@
|
|
|
|
|
|
namespace Tests\Feature\API;
|
|
|
|
|
|
+use App\Models\Permission;
|
|
|
use App\Models\Role;
|
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
use Illuminate\Foundation\Testing\WithFaker;
|
|
|
+use Illuminate\Support\Facades\Auth;
|
|
|
use Tests\Feature\TestCase;
|
|
|
|
|
|
class RoleTest extends TestCase
|
|
@@ -61,4 +63,26 @@ class RoleTest extends TestCase
|
|
|
|
|
|
$this->assertNull(Role::find($role->id));
|
|
|
}
|
|
|
+
|
|
|
+ public function test_role_permission_list(): void
|
|
|
+ {
|
|
|
+ $response = $this->get(route('role.permissions', ['role' => Auth::user()->role_id]));
|
|
|
+
|
|
|
+ $response->assertStatus(200)->assertJsonCount(Permission::query()->count(), 'data');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function test_role_assign_permission(): void
|
|
|
+ {
|
|
|
+ $role = Role::factory()->create();
|
|
|
+
|
|
|
+ $permissions = Permission::pluck('name')->toArray();
|
|
|
+
|
|
|
+ $response = $this->put(route('role.assign-permissions', ['role' => $role->id]), [
|
|
|
+ 'permissions' => $permissions
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $response->assertStatus(204);
|
|
|
+
|
|
|
+ $this->assertCount(count($permissions), $role->refresh()->permissions);
|
|
|
+ }
|
|
|
}
|