test(admin/e2e): Update tests to account for changes in 0.14.3 (#2033)

* test(admin/e2e): Modify password locators due to new Show Password button

* test(admin/e2e): Update breadcrumbs locators due to design updates

Previously, all breadcrumb items were links, but that is no longer the case for the active breadcrumb.
This commit is contained in:
Michael Li authored and GitHub committed 2023-12-07 11:42:04 -05:00
1 parent b986064447
commit 6328cc1fcf
6 files changed
+47 -45

No files matched your search

+1 -1
View File
@@ -23,7 +23,7 @@ module.exports = async () => {
.getByLabel('Login Name')
.fill(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME);
await page
.getByLabel('Password')
.getByLabel('Password', { exact: true })
.fill(process.env.E2E_PASSWORD_ADMIN_PASSWORD);
await page.getByRole('button', { name: 'Sign In' }).click();
await page.getByRole('navigation', { name: 'General' }).waitFor();
+13 -25
View File
@@ -27,9 +27,7 @@ exports.createNewOrg = async (page) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: orgName }),
page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(orgName),
).toBeVisible();
return orgName;
@@ -57,7 +55,7 @@ exports.createNewProject = async (page) => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: projectName }),
.getByText(projectName),
).toBeVisible();
return projectName;
@@ -85,7 +83,7 @@ exports.createNewHostCatalog = async (page) => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostCatalogName }),
.getByText(hostCatalogName),
).toBeVisible();
return hostCatalogName;
@@ -110,7 +108,7 @@ exports.createNewHostSet = async (page) => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostSetName }),
.getByText(hostSetName),
).toBeVisible();
return hostSetName;
@@ -159,9 +157,7 @@ exports.createNewTarget = async (page) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: targetName }),
page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(targetName),
).toBeVisible();
return targetName;
@@ -189,9 +185,7 @@ exports.createNewTargetWithAddress = async (page) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: targetName }),
page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(targetName),
).toBeVisible();
return targetName;
@@ -339,7 +333,7 @@ exports.createNewPasswordAuthMethod = async (page, authMethodName) => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: authMethodName }),
.getByText(authMethodName),
).toBeVisible();
};
@@ -378,7 +372,7 @@ exports.addAccountToAuthMethod = async (page, accountName, login, password) => {
.click();
await page.getByLabel('Name', { exact: true }).fill(accountName);
await page.getByLabel('Login Name').fill(login);
await page.getByLabel('Password').fill(password);
await page.getByLabel('Password', { exact: true }).fill(password);
await page.getByRole('button', { name: 'Save' }).click();
await expect(
page.getByRole('alert').getByText('Success', { exact: true }),
@@ -387,7 +381,7 @@ exports.addAccountToAuthMethod = async (page, accountName, login, password) => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: accountName }),
.getByText(accountName),
).toBeVisible();
};
@@ -399,7 +393,7 @@ exports.addAccountToAuthMethod = async (page, accountName, login, password) => {
*/
exports.setPasswordToAccount = async (page, password) => {
await page.getByRole('link', { name: 'Set Password' }).click();
await page.getByLabel('Password').fill(password);
await page.getByLabel(new RegExp('Password*')).fill(password);
await page.getByRole('button', { name: 'Save' }).click();
await expect(
page.getByRole('alert').getByText('Success', { exact: true }),
@@ -428,9 +422,7 @@ exports.createNewUser = async (page, userName) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: userName }),
page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(userName),
).toBeVisible();
};
@@ -476,9 +468,7 @@ exports.createNewGroup = async (page, groupName) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: groupName }),
page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(groupName),
).toBeVisible();
};
@@ -520,9 +510,7 @@ exports.createNewRole = async (page, roleName) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: roleName }),
page.getByRole('navigation', { name: 'breadcrumbs' }).getByText(roleName),
).toBeVisible();
};
@@ -67,7 +67,9 @@ test.beforeEach(async ({ page }) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page.getByRole('link', { name: credentialStoreName }),
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText(credentialStoreName),
).toBeVisible();
});
@@ -93,7 +95,11 @@ test('Static Credential Store (User & Key Pair)', async ({ page }) => {
page.getByRole('alert').getByText('Success', { exact: true }),
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(page.getByRole('link', { name: credentialName })).toBeVisible();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText(credentialName),
).toBeVisible();
await addBrokeredCredentialsToTarget(page, targetName, credentialName);
@@ -135,7 +141,11 @@ test('Static Credential Store (Username & Password)', async ({ page }) => {
page.getByRole('alert').getByText('Success', { exact: true }),
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(page.getByRole('link', { name: credentialName })).toBeVisible();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText(credentialName),
).toBeVisible();
await addBrokeredCredentialsToTarget(page, targetName, credentialName);
@@ -183,7 +193,11 @@ test('Static Credential Store (JSON)', async ({ page }) => {
page.getByRole('alert').getByText('Success', { exact: true }),
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(page.getByRole('link', { name: credentialName })).toBeVisible();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText(credentialName),
).toBeVisible();
await addBrokeredCredentialsToTarget(page, targetName, credentialName);
@@ -107,7 +107,9 @@ test('Vault Credential Store (User & Key Pair)', async ({ page }) => {
).toBeVisible();
await page.getByRole('button', { name: 'Dismiss' }).click();
await expect(
page.getByRole('link', { name: credentialStoreName }),
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByText(credentialStoreName),
).toBeVisible();
const credentialLibraryName = 'Credential Library ' + nanoid();
@@ -63,14 +63,14 @@ test.describe('AWS', async () => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostCatalogName }),
.getByText(hostCatalogName),
).toBeVisible();
// Create first host set
const hostSetName1 = 'Host Set ' + nanoid();
const hostSetName = 'Host Set ' + nanoid();
await page.getByRole('link', { name: 'Host Sets' }).click();
await page.getByRole('link', { name: 'New', exact: true }).click();
await page.getByLabel('Name').fill(hostSetName1);
await page.getByLabel('Name').fill(hostSetName);
await page.getByLabel('Description').fill('This is an automated test');
await page
.getByRole('group', { name: 'Filter' })
@@ -88,14 +88,12 @@ test.describe('AWS', async () => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostSetName1 }),
.getByText(hostSetName),
).toBeVisible();
await page.getByRole('link', { name: 'Hosts' }).click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: 'Hosts' }),
page.getByRole('navigation', { name: 'breadcrumbs' }).getByText('Hosts'),
).toBeVisible();
// Check number of hosts in host set
@@ -119,7 +117,7 @@ test.describe('AWS', async () => {
await page.reload();
await page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostSetName1 })
.getByText(hostSetName)
.waitFor();
} while (i < 5);
@@ -147,12 +145,12 @@ test.describe('AWS', async () => {
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostName }),
.getByText(hostName),
).toBeVisible();
await page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostSetName1 })
.getByText(hostSetName)
.click();
await page.getByRole('link', { name: 'Hosts' }).click();
}
+4 -4
View File
@@ -13,7 +13,7 @@ test('Log in, log out, and then log back in', async ({ page }) => {
.getByLabel('Login Name')
.fill(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME);
await page
.getByLabel('Password')
.getByLabel('Password', { exact: true })
.fill(process.env.E2E_PASSWORD_ADMIN_PASSWORD);
await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page.getByRole('navigation', { name: 'General' })).toBeVisible();
@@ -31,7 +31,7 @@ test('Log in, log out, and then log back in', async ({ page }) => {
.getByLabel('Login Name')
.fill(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME);
await page
.getByLabel('Password')
.getByLabel('Password', { exact: true })
.fill(process.env.E2E_PASSWORD_ADMIN_PASSWORD);
await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page.getByRole('navigation', { name: 'General' })).toBeVisible();
@@ -46,7 +46,7 @@ test.describe('Failure Cases', async () => {
await page
.getByLabel('Login Name')
.fill(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME);
await page.getByLabel('Password').fill('badpassword');
await page.getByLabel('Password', { exact: true }).fill('badpassword');
await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page.getByRole('alert').getByText('Error')).toBeVisible();
await expect(page.getByRole('button', { name: 'Sign In' })).toBeVisible();
@@ -67,7 +67,7 @@ test.describe('Failure Cases', async () => {
test('Log in with only password', async ({ page }) => {
await page
.getByLabel('Password')
.getByLabel('Password', { exact: true })
.fill(process.env.E2E_PASSWORD_ADMIN_PASSWORD);
await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page.getByRole('alert').getByText('Error')).toBeVisible();