seed(AuthorizationSeeder::class); $this->assertSame( [ RoleCode::Admin->value, RoleCode::AdminApp->value, RoleCode::User->value, ], 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', RoleCode::Admin->value)->firstOrFail(); $appAdmin = Role::query()->where('codigo', RoleCode::AdminApp->value)->firstOrFail(); $user = Role::query()->where('codigo', RoleCode::User->value)->firstOrFail(); $this->assertCount(22, $admin->permissions); $this->assertCount(0, $appAdmin->permissions); $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', 22); } }