seed(AuthorizationSeeder::class); $this->assertSame( ['admin', 'tenant_admin', 'user'], Role::query()->orderBy('codigo')->pluck('codigo')->all() ); $this->assertCount(22, Permission::query()->get()); } public function test_it_assigns_the_expected_permissions_to_each_role(): void { $this->seed(AuthorizationSeeder::class); $admin = Role::query()->where('codigo', 'admin')->firstOrFail(); $tenantAdmin = Role::query()->where('codigo', 'tenant_admin')->firstOrFail(); $user = Role::query()->where('codigo', 'user')->firstOrFail(); $this->assertCount(22, $admin->permissions); $this->assertCount(21, $tenantAdmin->permissions); $this->assertFalse($tenantAdmin->permissions->contains('codigo', 'roles.gestionar')); $this->assertCount(0, $user->permissions); } public function test_it_can_run_more_than_once_without_creating_duplicates(): void { $this->seed(AuthorizationSeeder::class); $this->seed(AuthorizationSeeder::class); $this->assertCount(3, Role::query()->get()); $this->assertCount(22, Permission::query()->get()); $this->assertDatabaseCount('roles_permisos', 43); } }