mirror of
https://github.com/chylex/Lightning-Tracker.git
synced 2025-04-10 02:15:43 +02:00
Update project member management tests to include tracker moderator & cleanup test code
This commit is contained in:
parent
939068abaa
commit
b4bab956f8
@ -35,6 +35,10 @@ class T122_MemberManageability_Cest{
|
||||
'RoleLess' => 6,
|
||||
];
|
||||
|
||||
public function _after(): void{
|
||||
Acceptance::assignUser3Role('p1', null);
|
||||
}
|
||||
|
||||
private function startManagingAs(AcceptanceTester $I, string $user): void{
|
||||
$I->amLoggedIn($user);
|
||||
$I->amOnPage('/project/p1/members');
|
||||
@ -71,8 +75,7 @@ class T122_MemberManageability_Cest{
|
||||
}
|
||||
}
|
||||
|
||||
public function adminCanManageAllButOwnerDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
// TODO currently failing because the role check doesn't work for system admins
|
||||
public function trackerAdminCanManageAllButOwnerDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
$this->startManagingAs($I, 'Admin');
|
||||
$I->dontSee('Admin', 'table td:first-child');
|
||||
|
||||
@ -85,6 +88,19 @@ class T122_MemberManageability_Cest{
|
||||
]);
|
||||
}
|
||||
|
||||
public function trackerModeratorCanManageAllButOwnerDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
$this->startManagingAs($I, 'Moderator');
|
||||
$I->dontSee('Moderator', 'table td:first-child');
|
||||
|
||||
$this->ensureCanOnlyManage($I, self::ROWS_USER3_ROLELESS, [
|
||||
'Manager1',
|
||||
'Manager2',
|
||||
'User2',
|
||||
'RoleLess',
|
||||
'User3',
|
||||
]);
|
||||
}
|
||||
|
||||
public function ownerCanManageAllButSelf(AcceptanceTester $I): void{
|
||||
$this->startManagingAs($I, 'User1');
|
||||
|
||||
@ -99,7 +115,7 @@ class T122_MemberManageability_Cest{
|
||||
|
||||
public function memberWithAdministratorRoleCanOnlyManageLowerRoles(AcceptanceTester $I): void{
|
||||
Acceptance::assignUser3Role('p1', 'Administrator');
|
||||
$this->startManagingAs($I, 'Manager1');
|
||||
$this->startManagingAs($I, 'User3');
|
||||
|
||||
$this->ensureCanOnlyManage($I, self::ROWS_USER3_ADMINISTRATOR, [
|
||||
'Manager2',
|
||||
@ -110,7 +126,7 @@ class T122_MemberManageability_Cest{
|
||||
|
||||
public function memberWithModeratorRoleCanOnlyManageLowerRoles(AcceptanceTester $I): void{
|
||||
Acceptance::assignUser3Role('p1', 'Moderator');
|
||||
$this->startManagingAs($I, 'Manager2');
|
||||
$this->startManagingAs($I, 'User3');
|
||||
|
||||
$this->ensureCanOnlyManage($I, self::ROWS_USER3_MODERATOR_OR_DEVELOPER, [
|
||||
'User2',
|
||||
@ -123,15 +139,6 @@ class T122_MemberManageability_Cest{
|
||||
$this->startManagingAs($I, 'User3');
|
||||
$this->ensureCanOnlyManage($I, self::ROWS_USER3_MODERATOR_OR_DEVELOPER, []);
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends memberWithAdministratorRoleCanOnlyManageLowerRoles
|
||||
* @depends memberWithModeratorRoleCanOnlyManageLowerRoles
|
||||
* @depends memberWithDeveloperRoleCannotManageAnyone
|
||||
*/
|
||||
public function resetUser3Role(): void{
|
||||
Acceptance::assignUser3Role('p1', null);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -16,6 +16,10 @@ class T123_MemberEditing_Cest{
|
||||
'Reporter' => 5,
|
||||
];
|
||||
|
||||
public function _after(): void{
|
||||
Acceptance::assignUser3Role('p1', null);
|
||||
}
|
||||
|
||||
private function startEditingAs(AcceptanceTester $I, string $editor, string $user): void{
|
||||
$stmt = Acceptance::getDB()->prepare('SELECT id FROM users WHERE name = ?');
|
||||
$stmt->execute([$user]);
|
||||
@ -63,7 +67,7 @@ class T123_MemberEditing_Cest{
|
||||
$I->seeOptionIsSelected('Role', $example[2]);
|
||||
}
|
||||
|
||||
public function adminCanSetAllButOwnerRoleDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
public function trackerAdminCanSetAllButOwnerRoleDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
$this->startEditingAs($I, 'Admin', 'RoleLess');
|
||||
|
||||
$this->ensureCanOnlySetRoles($I, ['Administrator',
|
||||
@ -72,6 +76,15 @@ class T123_MemberEditing_Cest{
|
||||
'Reporter']);
|
||||
}
|
||||
|
||||
public function trackerModeratorCanSetAllButOwnerRoleDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
$this->startEditingAs($I, 'Moderator', 'RoleLess');
|
||||
|
||||
$this->ensureCanOnlySetRoles($I, ['Administrator',
|
||||
'Moderator',
|
||||
'Developer',
|
||||
'Reporter']);
|
||||
}
|
||||
|
||||
public function ownerCanSetAllButOwnerRole(AcceptanceTester $I): void{
|
||||
$this->startEditingAs($I, 'User1', 'RoleLess');
|
||||
|
||||
@ -82,7 +95,8 @@ class T123_MemberEditing_Cest{
|
||||
}
|
||||
|
||||
public function memberWithAdministratorRoleCanOnlySetLowerRoles(AcceptanceTester $I): void{
|
||||
$this->startEditingAs($I, 'Manager1', 'RoleLess');
|
||||
Acceptance::assignUser3Role('p1', 'Administrator');
|
||||
$this->startEditingAs($I, 'User3', 'RoleLess');
|
||||
|
||||
$this->ensureCanOnlySetRoles($I, ['Moderator',
|
||||
'Developer',
|
||||
@ -90,7 +104,8 @@ class T123_MemberEditing_Cest{
|
||||
}
|
||||
|
||||
public function memberWithModeratorRoleCanOnlySetLowerRoles(AcceptanceTester $I): void{
|
||||
$this->startEditingAs($I, 'Manager2', 'RoleLess');
|
||||
Acceptance::assignUser3Role('p1', 'Moderator');
|
||||
$this->startEditingAs($I, 'User3', 'RoleLess');
|
||||
|
||||
$this->ensureCanOnlySetRoles($I, ['Developer',
|
||||
'Reporter']);
|
||||
|
@ -84,7 +84,7 @@ class T124_MemberRemoval_Cest{
|
||||
$I->see('Member not found');
|
||||
}
|
||||
|
||||
public function adminCanRemoveAllButOwnerRoleDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
public function trackerAdminCanRemoveAllButOwnerRoleDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
$this->ensureCannotRemove($I, 'Admin', 'User1');
|
||||
$this->ensureCanRemoveWithConfirmation($I, 'Admin', 'Manager1');
|
||||
$this->ensureCanRemoveWithConfirmation($I, 'Admin', 'Manager2');
|
||||
@ -94,6 +94,16 @@ class T124_MemberRemoval_Cest{
|
||||
$this->restoreMembers();
|
||||
}
|
||||
|
||||
public function trackerModeratorCanRemoveAllButOwnerRoleDespiteNotBeingAMember(AcceptanceTester $I): void{
|
||||
$this->ensureCannotRemove($I, 'Moderator', 'User1');
|
||||
$this->ensureCanRemoveWithConfirmation($I, 'Moderator', 'Manager1');
|
||||
$this->ensureCanRemoveWithConfirmation($I, 'Moderator', 'Manager2');
|
||||
$this->ensureCanRemoveWithoutConfirmation($I, 'Moderator', 'User2');
|
||||
$this->ensureCanRemoveWithConfirmation($I, 'Moderator', 'RoleLess');
|
||||
$this->ensureCanRemoveWithoutConfirmation($I, 'Moderator', 'User3');
|
||||
$this->restoreMembers();
|
||||
}
|
||||
|
||||
public function ownerCanRemoveAllButSelf(AcceptanceTester $I): void{
|
||||
$this->ensureCannotRemove($I, 'User1', 'User1');
|
||||
$this->ensureCanRemoveWithConfirmation($I, 'User1', 'Manager1');
|
||||
|
Loading…
Reference in New Issue
Block a user