Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording

This commit is contained in:
Zhihe Li committed 2023-02-28 18:05:59 -05:00
commit 07a260431d
2 files changed
+102

No files matched your search

@@ -63,6 +63,7 @@ test.describe('AWS', async () => {
.getByRole('link', { name: hostCatalogName })
).toBeVisible();
// Create first host set
const hostSetName1 = 'Host Set ' + nanoid();
await page.getByRole('link', { name: 'Host Sets' }).click();
await page.getByRole('link', { name: 'New', exact: true }).click();
@@ -94,6 +95,7 @@ test.describe('AWS', async () => {
.getByRole('link', { name: 'Hosts' })
).toBeVisible();
// Check number of hosts in host set
let i = 0;
let rowCount = 0;
let hostsAreVisible = false;
@@ -127,6 +129,31 @@ test.describe('AWS', async () => {
);
}
// Navigate to each host in the host set
for (let i = 0; i < expectedHosts.length; i++) {
const host = await page
.getByRole('table')
.getByRole('rowgroup')
.nth(1)
.getByRole('row')
.nth(i)
.getByRole('link');
let hostName = await host.innerText();
await host.click();
await expect(
page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostName })
).toBeVisible();
await page
.getByRole('navigation', { name: 'breadcrumbs' })
.getByRole('link', { name: hostSetName1 })
.click();
}
// Create second host set
const hostSetName2 = 'Host Set ' + nanoid();
await page
.getByRole('navigation', { name: 'breadcrumbs' })
@@ -155,6 +182,7 @@ test.describe('AWS', async () => {
.getByRole('link', { name: hostSetName2 })
).toBeVisible();
// Check number of hosts in host set
await page.getByRole('link', { name: 'Hosts' }).click();
i = 0;
rowCount = 0;
+74
View File
@@ -0,0 +1,74 @@
/* eslint-disable no-undef */
const { test, expect } = require('@playwright/test');
test('Log in, log out, and then log back in', async ({ page }) => {
await page.goto('/');
await page
.getByLabel('Login Name')
.fill(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME);
await page
.getByLabel('Password')
.fill(process.env.E2E_PASSWORD_ADMIN_PASSWORD);
await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page.getByRole('navigation', { name: 'General' })).toBeVisible();
await expect(
page.getByText(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME)
).toBeEnabled();
await page.getByText(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME).click();
await page.getByRole('button', { name: 'Sign Out' }).click();
await expect(page.getByRole('button', { name: 'Sign In' })).toBeVisible();
await page.reload();
await page
.getByLabel('Login Name')
.fill(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME);
await page
.getByLabel('Password')
.fill(process.env.E2E_PASSWORD_ADMIN_PASSWORD);
await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page.getByRole('navigation', { name: 'General' })).toBeVisible();
});
test.describe('Failure Cases', async () => {
test.beforeEach(async ({ page }) => {
await page.goto('/');
});
test('Log in with invalid password', async ({ page }) => {
await page
.getByLabel('Login Name')
.fill(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME);
await page.getByLabel('Password').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();
await expect(
page.getByText(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME)
).toBeHidden();
});
test('Log in with only username', async ({ page }) => {
await page.getByLabel('Login Name').fill('testuser');
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();
await expect(
page.getByText(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME)
).toBeHidden();
});
test('Log in with only password', async ({ page }) => {
await page
.getByLabel('Password')
.fill(process.env.E2E_PASSWORD_ADMIN_PASSWORD);
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();
await expect(
page.getByText(process.env.E2E_PASSWORD_ADMIN_LOGIN_NAME)
).toBeHidden();
});
});