objFromFixture(PermissionRole::class, 'role'); $role->delete(); $this->assertEquals(0, DataObject::get(PermissionRole::class, "\"ID\"={$role->ID}")->count(), 'Role is removed'); $this->assertEquals(0, DataObject::get(PermissionRoleCode::class,"\"RoleID\"={$role->ID}")->count(), 'Permissions removed along with the role'); } public function testValidatesPrivilegedPermissions() { $nonAdminCode = new PermissionRoleCode(array('Code' => 'CMS_ACCESS_CMSMain')); $adminCode = new PermissionRoleCode(array('Code' => 'ADMIN')); $this->logInWithPermission('APPLY_ROLES'); $result = $nonAdminCode->validate(); $this->assertTrue( $result->isValid(), 'Members with only APPLY_ROLES can create non-privileged permission role codes' ); $this->logInWithPermission('APPLY_ROLES'); $result = $adminCode->validate(); $this->assertFalse( $result->isValid(), 'Members with only APPLY_ROLES can\'t create privileged permission role codes' ); $this->logInWithPermission('ADMIN'); $result = $adminCode->validate(); $this->assertTrue( $result->isValid(), 'Members with ADMIN can create privileged permission role codes' ); } }