mirror of
https://github.com/chylex/Lightning-Tracker.git
synced 2025-04-10 02:15:43 +02:00
Add a third test user to automated tests, simplify page access test, add a few permission checks
This commit is contained in:
parent
72eb61560a
commit
03686284d5
@ -41,6 +41,7 @@ class T000_Setup_Cest{
|
||||
self::t($I, $t, fn() => $t->registerManager2WithLogin($I));
|
||||
self::t($I, $t, fn() => $t->registerUser1WithLogin($I));
|
||||
self::t($I, $t, fn() => $t->registerUser2WithLogin($I));
|
||||
self::t($I, $t, fn() => $t->registerUser3WithLogin($I));
|
||||
self::t($I, $t, fn() => $t->registerRoleLessWithLogin($I));
|
||||
self::t($I, $t, fn() => $t->setupRoles());
|
||||
|
||||
|
@ -95,6 +95,14 @@ class T004_RegisterAccounts_Cest{
|
||||
$this->register($I, 'User2', '987654321', 'user2@example.com');
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends userAlreadyExists
|
||||
* @depends emailAlreadyExists
|
||||
*/
|
||||
public function registerUser3WithLogin(AcceptanceTester $I): void{
|
||||
$this->register($I, 'User3', '123123123', 'user3@example.com');
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends userAlreadyExists
|
||||
* @depends emailAlreadyExists
|
||||
@ -109,6 +117,7 @@ class T004_RegisterAccounts_Cest{
|
||||
* @depends registerManager2WithLogin
|
||||
* @depends registerUser1WithLogin
|
||||
* @depends registerUser2WithLogin
|
||||
* @depends registerUser3WithLogin
|
||||
* @depends registerRoleLessWithLogin
|
||||
*/
|
||||
public function setupRoles(): void{
|
||||
@ -137,7 +146,11 @@ class T004_RegisterAccounts_Cest{
|
||||
$db->exec('INSERT INTO system_role_permissions (role_id, permission) VALUES (5, \'users.see.emails\')');
|
||||
$db->exec('INSERT INTO system_role_permissions (role_id, permission) VALUES (5, \'users.manage\')');
|
||||
|
||||
$db->exec('UPDATE users SET role_id = 2 WHERE name = \'User1\' OR name = \'User2\'');
|
||||
$db->exec('UPDATE users SET id = \'user1test\' WHERE name = \'User1\'');
|
||||
$db->exec('UPDATE users SET id = \'user2test\' WHERE name = \'User2\'');
|
||||
$db->exec('UPDATE users SET id = \'user3test\' WHERE name = \'User3\'');
|
||||
|
||||
$db->exec('UPDATE users SET role_id = 2 WHERE name = \'User1\' OR name = \'User2\' OR name = \'User3\'');
|
||||
$db->exec('UPDATE users SET role_id = 3 WHERE name = \'Manager2\'');
|
||||
$db->exec('UPDATE users SET role_id = 4 WHERE name = \'Manager1\'');
|
||||
$db->exec('UPDATE users SET role_id = 5 WHERE name = \'Moderator\'');
|
||||
|
@ -38,7 +38,6 @@ class T010_PageLoginRedirect_Cest{
|
||||
* @example [null]
|
||||
* @example ["RoleLess"]
|
||||
* @example ["User1"]
|
||||
* @example ["User2"]
|
||||
* @example ["Manager1"]
|
||||
* @example ["Manager2"]
|
||||
* @example ["Moderator"]
|
||||
@ -52,7 +51,6 @@ class T010_PageLoginRedirect_Cest{
|
||||
* @example [null]
|
||||
* @example ["RoleLess"]
|
||||
* @example ["User1"]
|
||||
* @example ["User2"]
|
||||
* @example ["Manager1"]
|
||||
* @example ["Manager2"]
|
||||
* @example ["Moderator"]
|
||||
@ -65,7 +63,6 @@ class T010_PageLoginRedirect_Cest{
|
||||
/**
|
||||
* @example ["RoleLess"]
|
||||
* @example ["User1"]
|
||||
* @example ["User2"]
|
||||
* @example ["Manager1"]
|
||||
* @example ["Manager2"]
|
||||
* @example ["Moderator"]
|
||||
@ -96,7 +93,6 @@ class T010_PageLoginRedirect_Cest{
|
||||
* @example [null]
|
||||
* @example ["RoleLess"]
|
||||
* @example ["User1"]
|
||||
* @example ["User2"]
|
||||
*/
|
||||
public function notPrivilegedCannotAccessUsers(AcceptanceTester $I, Example $example): void{
|
||||
$this->ensureCannotAccessPageAs($I, $example[0], 'users');
|
||||
@ -114,7 +110,6 @@ class T010_PageLoginRedirect_Cest{
|
||||
* @example [null]
|
||||
* @example ["RoleLess"]
|
||||
* @example ["User1"]
|
||||
* @example ["User2"]
|
||||
* @example ["Manager2"]
|
||||
* @example ["Moderator"]
|
||||
*/
|
||||
|
@ -52,11 +52,12 @@ class T030_UserList_Cest{
|
||||
*/
|
||||
public function ensureRegistrationOrder(): void{
|
||||
$db = Acceptance::getDB();
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 8 SECOND) WHERE name = \'Admin\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 7 SECOND) WHERE name = \'Moderator\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 6 SECOND) WHERE name = \'Manager1\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 5 SECOND) WHERE name = \'Manager2\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 4 SECOND) WHERE name = \'User1\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 9 SECOND) WHERE name = \'Admin\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 8 SECOND) WHERE name = \'Moderator\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 7 SECOND) WHERE name = \'Manager1\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 6 SECOND) WHERE name = \'Manager2\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 5 SECOND) WHERE name = \'User1\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 4 SECOND) WHERE name = \'User3\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 3 SECOND) WHERE name = \'User2\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 2 SECOND) WHERE name = \'RoleLess\'');
|
||||
$db->exec('UPDATE users SET date_registered = DATE_SUB(NOW(), INTERVAL 1 SECOND) WHERE name = \'Test\'');
|
||||
@ -71,6 +72,7 @@ class T030_UserList_Cest{
|
||||
'Manager1',
|
||||
'Manager2',
|
||||
'User1',
|
||||
'User3',
|
||||
'User2',
|
||||
'RoleLess',
|
||||
'Test']);
|
||||
@ -89,6 +91,7 @@ class T030_UserList_Cest{
|
||||
'Test',
|
||||
'User1',
|
||||
'User2',
|
||||
'User3',
|
||||
];
|
||||
|
||||
$I->click('thead tr:first-child th:nth-child(1) > a');
|
||||
@ -109,6 +112,7 @@ class T030_UserList_Cest{
|
||||
'Manager1', // role 2
|
||||
'Manager2', // role 3
|
||||
'User1', // role 4, registered first
|
||||
'User3', // role 4, registered second
|
||||
'User2', // role 4, registered last
|
||||
'RoleLess', // no role, registered first
|
||||
'Test']); // no role, registered last
|
||||
@ -118,6 +122,7 @@ class T030_UserList_Cest{
|
||||
$I->seeTableRowOrder(['RoleLess', // no role, registered first
|
||||
'Test', // no role, registered last
|
||||
'User1', // role 4, registered first
|
||||
'User3', // role 4, registered second
|
||||
'User2', // role 4, registered last
|
||||
'Manager2', // role 3
|
||||
'Manager1', // role 2
|
||||
@ -137,7 +142,8 @@ class T030_UserList_Cest{
|
||||
'Manager1', // role 2
|
||||
'Manager2', // role 3
|
||||
'User1', // role 4, alphabetically first
|
||||
'User2', // role 4, alphabetically last
|
||||
'User2', // role 4, alphabetically second
|
||||
'User3', // role 4, alphabetically last
|
||||
'RoleLess', // no role, alphabetically first
|
||||
'Test']); // no role, alphabetically last
|
||||
|
||||
@ -147,7 +153,8 @@ class T030_UserList_Cest{
|
||||
'Moderator', // role 1
|
||||
'Manager1', // role 2
|
||||
'Manager2', // role 3
|
||||
'User2', // role 4, alphabetically last
|
||||
'User3', // role 4, alphabetically last
|
||||
'User2', // role 4, alphabetically second
|
||||
'User1', // role 4, alphabetically first
|
||||
'Test', // no role, alphabetically last
|
||||
'RoleLess']); // no role, alphabetically first
|
||||
@ -159,7 +166,8 @@ class T030_UserList_Cest{
|
||||
$I->seeTableRowOrder(['RoleLess', // no role, alphabetically first
|
||||
'Test', // no role, alphabetically last
|
||||
'User1', // role 4, alphabetically first
|
||||
'User2', // role 4, alphabetically last
|
||||
'User2', // role 4, alphabetically second
|
||||
'User3', // role 4, alphabetically last
|
||||
'Manager2', // role 3
|
||||
'Manager1', // role 2
|
||||
'Moderator', // role 1
|
||||
@ -169,7 +177,8 @@ class T030_UserList_Cest{
|
||||
|
||||
$I->seeTableRowOrder(['Test', // no role, alphabetically last
|
||||
'RoleLess', // no role, alphabetically first
|
||||
'User2', // role 4, alphabetically last
|
||||
'User3', // role 4, alphabetically last
|
||||
'User2', // role 4, alphabetically second
|
||||
'User1', // role 4, alphabetically first
|
||||
'Manager2', // role 3
|
||||
'Manager1', // role 2
|
||||
@ -188,6 +197,7 @@ class T030_UserList_Cest{
|
||||
'Manager1', // role 2
|
||||
'Manager2', // role 3
|
||||
'User1', // role 4, registered first
|
||||
'User3', // role 4, registered second
|
||||
'User2', // role 4, registered last
|
||||
'RoleLess', // no role, registered first
|
||||
'Test']); // no role, registered last
|
||||
@ -197,6 +207,7 @@ class T030_UserList_Cest{
|
||||
$I->seeTableRowOrder(['RoleLess', // no role, registered first
|
||||
'Test', // no role, registered last
|
||||
'User1', // role 4, registered first
|
||||
'User3', // role 4, registered second
|
||||
'User2', // role 4, registered last
|
||||
'Manager2', // role 3
|
||||
'Manager1', // role 2
|
||||
@ -214,6 +225,7 @@ class T030_UserList_Cest{
|
||||
'Manager1',
|
||||
'Manager2',
|
||||
'User1',
|
||||
'User3',
|
||||
'User2',
|
||||
'RoleLess',
|
||||
'Test',
|
||||
|
@ -13,15 +13,17 @@ class T031_UserManageability_Cest{
|
||||
'Manager1' => 3,
|
||||
'Manager2' => 4,
|
||||
'User1' => 5,
|
||||
'User2' => 6,
|
||||
'RoleLess' => 7,
|
||||
'Admin2' => 8,
|
||||
'Moderator2' => 9,
|
||||
'User3' => 6,
|
||||
'User2' => 7,
|
||||
'RoleLess' => 8,
|
||||
'Admin2' => 9,
|
||||
'Moderator2' => 10,
|
||||
];
|
||||
|
||||
private function startManagingAs(AcceptanceTester $I, string $user): void{
|
||||
$I->amLoggedIn($user);
|
||||
$I->amOnPage('/users');
|
||||
$I->dontSee('Permission Error', 'h2');
|
||||
}
|
||||
|
||||
private function ensureCanOnlyManage(AcceptanceTester $I, array $users): void{
|
||||
@ -63,6 +65,7 @@ SQL
|
||||
'Moderator2',
|
||||
'RoleLess',
|
||||
'User1',
|
||||
'User3',
|
||||
'User2',
|
||||
]);
|
||||
}
|
||||
@ -78,6 +81,7 @@ SQL
|
||||
'Manager2',
|
||||
'RoleLess',
|
||||
'User1',
|
||||
'User3',
|
||||
'User2',
|
||||
]);
|
||||
}
|
||||
@ -92,6 +96,7 @@ SQL
|
||||
'Manager2',
|
||||
'RoleLess',
|
||||
'User1',
|
||||
'User3',
|
||||
'User2',
|
||||
]);
|
||||
}
|
||||
@ -105,6 +110,7 @@ SQL
|
||||
$this->ensureCanOnlyManage($I, [
|
||||
'RoleLess',
|
||||
'User1',
|
||||
'User3',
|
||||
'User2',
|
||||
]);
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ class T032_UserEditing_Cest{
|
||||
|
||||
$I->amLoggedIn($editor);
|
||||
$I->amOnPage('/users/'.$id);
|
||||
$I->dontSee('Permission Error', 'h2');
|
||||
}
|
||||
|
||||
private function ensureCanOnlySetRoles(AcceptanceTester $I, array $roles): void{
|
||||
|
@ -55,6 +55,7 @@ class T042_SystemSettingsRoleEditing_Cest{
|
||||
$I->assertNotFalse($id);
|
||||
$I->assertIsNumeric($id);
|
||||
$I->amOnPage('/settings/roles/'.$id);
|
||||
$I->dontSee('Permission Error', 'h2');
|
||||
}
|
||||
|
||||
private function assignPermissions(AcceptanceTester $I, string $title, array $perms, bool $should_be_successful): array{
|
||||
|
Loading…
Reference in New Issue
Block a user