Skip to content

Commit b99fce7

Browse files
authored
refactor: πŸ’‘ e2e admin tests - update locators (#2931)
* refactor: πŸ’‘ e2e tests - update locators βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-17174 * refactor: πŸ’‘ addressing comments βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-17174 * refactor: πŸ’‘ update test for session-recording-aws-ent βœ… Closes: https://hashicorp.atlassian.net/browse/ICU-17174
1 parent 0a2d743 commit b99fce7

17 files changed

+120
-125
lines changed

β€Že2e-tests/admin/pages/aliases.jsβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export class AliasesPage extends BaseResourcePage {
2121
await this.page
2222
.getByRole('link', { name: `Back to ${orgName}`, exact: true })
2323
.click();
24-
await this.page.getByRole('link', { name: 'Orgs' }).click();
24+
await this.page.getByRole('link', { name: 'Back to Global' }).click();
2525
await this.page.getByRole('link', { name: 'Aliases' }).click();
2626
await expect(
2727
this.page

β€Že2e-tests/admin/pages/credential-stores.jsβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ export class CredentialStoresPage extends BaseResourcePage {
9797
await this.page.getByLabel('Address').fill(vaultAddr);
9898
await this.page
9999
.getByLabel('Worker filter')
100-
.locator('textarea')
100+
.getByRole('textbox')
101101
.fill(workerFilter);
102102
await this.page.getByLabel('Token').fill(clientToken);
103103
await this.page.getByRole('button', { name: 'Save' }).click();

β€Že2e-tests/admin/pages/storage-buckets.jsβ€Ž

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ export class StorageBucketsPage extends BaseResourcePage {
3131
await this.page
3232
.getByRole('link', { name: 'Storage Buckets', exact: true })
3333
.click();
34-
await this.page.getByRole('link', { name: 'New Storage Bucket' }).click();
34+
await this.page
35+
.getByRole('link', { name: 'New Storage Bucket', exact: true })
36+
.click();
3537
await this.page.getByLabel('Name (Optional)').fill(storageBucketName);
3638
await this.page.getByLabel('Scope').selectOption({ label: scope });
3739
await this.page
@@ -44,7 +46,7 @@ export class StorageBucketsPage extends BaseResourcePage {
4446
await this.page.getByLabel('Secret access key').fill(secretAccessKey);
4547
await this.page
4648
.getByLabel('Worker filter')
47-
.locator('textarea')
49+
.getByRole('textbox')
4850
.fill(workerFilter);
4951
await this.page.getByLabel('Disable credential rotation').click();
5052
await this.page.getByRole('button', { name: 'Save' }).click();
@@ -82,7 +84,9 @@ export class StorageBucketsPage extends BaseResourcePage {
8284
await this.page
8385
.getByRole('link', { name: 'Storage Buckets', exact: true })
8486
.click();
85-
await this.page.getByRole('link', { name: 'New Storage Bucket' }).click();
87+
await this.page
88+
.getByRole('link', { name: 'New Storage Bucket', exact: true })
89+
.click();
8690
await this.page.getByLabel('Name (Optional)').fill(storageBucketName);
8791
await this.page.getByLabel('Scope').selectOption({ label: scope });
8892
await this.page
@@ -96,7 +100,7 @@ export class StorageBucketsPage extends BaseResourcePage {
96100
await this.page.getByLabel('Secret access key').fill(secretAccessKey);
97101
await this.page
98102
.getByLabel('Worker filter')
99-
.locator('textarea')
103+
.getByRole('textbox')
100104
.fill(workerFilter);
101105
await this.page.getByLabel('Disable credential rotation').click();
102106
await this.page.getByRole('button', { name: 'Save' }).click();

β€Že2e-tests/admin/pages/targets.jsβ€Ž

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,8 @@ export class TargetsPage extends BaseResourcePage {
261261
.click();
262262

263263
await this.page
264-
.getByRole('cell', { name: hostSourceName })
265-
.locator('..')
264+
.getByRole('row')
265+
.filter({ has: this.page.getByRole('cell', { name: hostSourceName }) })
266266
.getByRole('checkbox')
267267
.click({ force: true });
268268
await this.page.getByRole('button', { name: 'Add Host Sources' }).click();
@@ -274,9 +274,8 @@ export class TargetsPage extends BaseResourcePage {
274274

275275
async removeHostSourceFromTarget(hostSourceName) {
276276
await this.page
277-
.getByRole('link', { name: hostSourceName })
278-
.locator('..')
279-
.locator('..')
277+
.getByRole('row')
278+
.filter({ has: this.page.getByRole('link', { name: hostSourceName }) })
280279
.getByRole('button', { name: 'Manage' })
281280
.click();
282281
await this.page.getByRole('button', { name: 'Remove' }).click();
@@ -307,7 +306,7 @@ export class TargetsPage extends BaseResourcePage {
307306
.getByText('Edit Ingress Worker Filter'),
308307
).toBeVisible();
309308

310-
await this.page.locator('textarea').fill(filter);
309+
await this.page.locator('.CodeMirror').getByRole('textbox').fill(filter);
311310

312311
await this.page.getByRole('button', { name: 'Save' }).click();
313312
await this.dismissSuccessAlert();
@@ -336,7 +335,7 @@ export class TargetsPage extends BaseResourcePage {
336335
.getByText('Edit Egress Worker Filter'),
337336
).toBeVisible();
338337

339-
await this.page.locator('textarea').fill(filter);
338+
await this.page.locator('.CodeMirror').getByRole('textbox').fill(filter);
340339

341340
await this.page.getByRole('button', { name: 'Save' }).click();
342341
await this.dismissSuccessAlert();
@@ -377,8 +376,8 @@ export class TargetsPage extends BaseResourcePage {
377376
.click();
378377

379378
await this.page
380-
.getByRole('cell', { name: credentialName })
381-
.locator('..')
379+
.getByRole('row')
380+
.filter({ has: this.page.getByRole('cell', { name: credentialName }) })
382381
.getByRole('checkbox')
383382
.click({ force: true });
384383
await this.page
@@ -434,8 +433,8 @@ export class TargetsPage extends BaseResourcePage {
434433
.click();
435434

436435
await this.page
437-
.getByRole('cell', { name: credentialName })
438-
.locator('..')
436+
.getByRole('row')
437+
.filter({ has: this.page.getByRole('cell', { name: credentialName }) })
439438
.getByRole('checkbox')
440439
.click({ force: true });
441440
await this.page

β€Že2e-tests/admin/pages/users.jsβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ export class UsersPage extends BaseResourcePage {
4646
.getByRole('link', { name: 'Add Accounts', exact: true })
4747
.click();
4848
await this.page
49-
.getByRole('cell', { name: loginName })
50-
.locator('..')
49+
.getByRole('row')
50+
.filter({ has: this.page.getByRole('cell', { name: loginName }) })
5151
.getByRole('checkbox')
5252
.click({ force: true });
5353

β€Že2e-tests/admin/pages/workers.jsβ€Ž

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,8 @@ export class WorkersPage extends BaseResourcePage {
3838
*/
3939
async editTag(origKey, newKey, newValue) {
4040
await this.page
41-
.getByRole('table')
42-
.getByRole('cell', { name: origKey })
43-
.locator('..')
41+
.getByRole('row')
42+
.filter({ has: this.page.getByRole('cell', { name: origKey }) })
4443
.getByRole('cell', { name: 'Overflow Options' })
4544
.click();
4645
await this.page.getByRole('button', { name: 'Edit Tag' }).click();
@@ -58,9 +57,8 @@ export class WorkersPage extends BaseResourcePage {
5857
*/
5958
async removeTag(key) {
6059
await this.page
61-
.getByRole('table')
62-
.getByRole('cell', { name: key })
63-
.locator('..')
60+
.getByRole('row')
61+
.filter({ has: this.page.getByRole('cell', { name: key }) })
6462
.getByRole('cell', { name: 'Overflow Options' })
6563
.click();
6664
await this.page.getByRole('button', { name: 'Remove Tag' }).click();

β€Že2e-tests/admin/tests/auth-method-ldap.spec.jsβ€Ž

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -223,15 +223,15 @@ test(
223223

224224
await expect(
225225
page
226-
.getByRole('cell', { name: ldapAccountName })
227-
.locator('..')
226+
.getByRole('row')
227+
.filter({ has: page.getByRole('cell', { name: ldapAccountName }) })
228228
.getByRole('cell')
229229
.nth(fullNameIndex),
230230
).toHaveText(ldapUserName);
231231
await expect(
232232
page
233-
.getByRole('cell', { name: ldapAccountName })
234-
.locator('..')
233+
.getByRole('row')
234+
.filter({ has: page.getByRole('cell', { name: ldapAccountName }) })
235235
.getByRole('cell')
236236
.nth(emailIndex),
237237
).toHaveText(ldapUserName + '@mail.com');
@@ -265,15 +265,15 @@ test(
265265

266266
await expect(
267267
page
268-
.getByRole('cell', { name: ldapAccountName })
269-
.locator('..')
268+
.getByRole('row')
269+
.filter({ has: page.getByRole('cell', { name: ldapAccountName }) })
270270
.getByRole('cell')
271271
.nth(fullNameIndex),
272272
).toHaveText(ldapUserName);
273273
await expect(
274274
page
275-
.getByRole('cell', { name: ldapAccountName })
276-
.locator('..')
275+
.getByRole('row')
276+
.filter({ has: page.getByRole('cell', { name: ldapAccountName }) })
277277
.getByRole('cell')
278278
.nth(emailIndex),
279279
).toHaveText(ldapUserName + '@mail.com');

β€Že2e-tests/admin/tests/auth-method-oidc-vault.spec.jsβ€Ž

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -181,15 +181,15 @@ test(
181181

182182
await expect(
183183
page
184-
.getByRole('cell', { name: userName })
185-
.locator('..')
184+
.getByRole('row')
185+
.filter({ has: page.getByRole('cell', { name: userName }) })
186186
.getByRole('cell')
187187
.nth(fullNameIndex),
188188
).toHaveText(userName);
189189
await expect(
190190
page
191-
.getByRole('cell', { name: userName })
192-
.locator('..')
191+
.getByRole('row')
192+
.filter({ has: page.getByRole('cell', { name: userName }) })
193193
.getByRole('cell')
194194
.nth(emailIndex),
195195
).toHaveText(email);
@@ -223,15 +223,15 @@ test(
223223

224224
await expect(
225225
page
226-
.getByRole('cell', { name: userName })
227-
.locator('..')
226+
.getByRole('row')
227+
.filter({ has: page.getByRole('cell', { name: userName }) })
228228
.getByRole('cell')
229229
.nth(fullNameIndex),
230230
).toHaveText(userName);
231231
await expect(
232232
page
233-
.getByRole('cell', { name: userName })
234-
.locator('..')
233+
.getByRole('row')
234+
.filter({ has: page.getByRole('cell', { name: userName }) })
235235
.getByRole('cell')
236236
.nth(emailIndex),
237237
).toHaveText(email);

β€Že2e-tests/admin/tests/credential-store-static-ent.spec.jsβ€Ž

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,8 @@ test(
6969

7070
// Remove a credential from the target
7171
await page
72-
.getByRole('link', { name: credentialName2 })
73-
.locator('..')
74-
.locator('..')
72+
.getByRole('row')
73+
.filter({ has: page.getByRole('link', { name: credentialName2 }) })
7574
.getByRole('button', { name: 'Manage' })
7675
.click();
7776
await page.getByRole('button', { name: 'Remove' }).click();
@@ -92,9 +91,8 @@ test(
9291

9392
// Remove a credential from the target
9493
await page
95-
.getByRole('link', { name: credentialName2 })
96-
.locator('..')
97-
.locator('..')
94+
.getByRole('row')
95+
.filter({ has: page.getByRole('link', { name: credentialName2 }) })
9896
.getByRole('button', { name: 'Manage' })
9997
.click();
10098
await page.getByRole('button', { name: 'Remove' }).click();

β€Že2e-tests/admin/tests/credential-store-static.spec.jsβ€Ž

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,9 +303,8 @@ test(
303303

304304
// Remove the host source from the target
305305
await page
306-
.getByRole('link', { name: credentialName2 })
307-
.locator('..')
308-
.locator('..')
306+
.getByRole('row')
307+
.filter({ has: page.getByRole('link', { name: credentialName2 }) })
309308
.getByRole('button', { name: 'Manage' })
310309
.click();
311310
await page.getByRole('button', { name: 'Remove' }).click();

0 commit comments

Comments
Β (0)