Merge pull request #80 from hashicorp/oss/merge-main-f5cb07248d36080bb63e5b184ac4ee8ba198bb5f

[main] OSS to ENT merge of (f5cb072)
This commit is contained in:
hc-github-team-secure-boundary authored and GitHub committed 2023-02-28 10:31:25 -05:00
commit 1ab518f50d
1 file changed
+74
+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();
});
});