feat: improve tests

This commit is contained in:
pit
2023-09-19 11:45:12 +01:00
parent 3c43d7af05
commit 97b4655bc8
3 changed files with 44 additions and 17 deletions

View File

@ -2,10 +2,31 @@ import { type Page, expect, test as setup } from '@playwright/test';
import { STORAGE_STATE } from '../../../../../playwright.config';
const username = process.env.E2E_TEST_USERNAME || '';
const email = process.env.E2E_TEST_USER_EMAIL || '';
const password = process.env.E2E_TEST_USER_PASSWORD || '';
setup('authenticate', async ({ page }: { page: Page }) => {
await page.goto('/signup');
await page.getByLabel('Name').fill(username);
await page.getByLabel('Email').fill(email);
await page.getByLabel('Password').fill(password);
const canvas = page.locator('canvas');
const box = await canvas.boundingBox();
if (box) {
await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
await page.mouse.down();
await page.mouse.move(box.x + box.width / 4, box.y + box.height / 4);
await page.mouse.up();
}
await page.getByRole('button', { name: 'Sign Up' }).click();
await page.goto('/');
await page.getByLabel('Email').fill('example@documenso.com');
await page.getByLabel('Password').fill('123456');
await page.getByLabel('Email').fill(email);
await page.getByLabel('Password').fill(password);
await page.getByRole('button', { name: 'Sign In' }).click();
await page.waitForURL('/documents');
await expect(page).toHaveURL('/documents');

View File

@ -2,11 +2,21 @@ import { type Page, expect, test } from '@playwright/test';
test.use({ storageState: { cookies: [], origins: [] } });
/*
Using them sequentially so the 2nd test
uses the details from the 1st (registration) test
*/
test.describe.configure({ mode: 'serial' });
const username = process.env.E2E_TEST_USERNAME || '';
const email = process.env.E2E_TEST_USER_EMAIL || '';
const password = process.env.E2E_TEST_USER_PASSWORD || '';
test('user can sign up with email and password', async ({ page }: { page: Page }) => {
await page.goto('/signup');
await page.getByLabel('Name').fill(process.env.E2E_TEST_USERNAME);
await page.getByLabel('Email').fill(process.env.E2E_TEST_USER_EMAIL);
await page.getByLabel('Password').fill(process.env.E2E_TEST_USER_PASSWORD);
await page.getByLabel('Name').fill(username);
await page.getByLabel('Email').fill(email);
await page.getByLabel('Password').fill(password);
const canvas = page.locator('canvas');
const box = await canvas.boundingBox();
@ -23,8 +33,8 @@ test('user can sign up with email and password', async ({ page }: { page: Page }
test('user can login with user and password', async ({ page }: { page: Page }) => {
await page.goto('/signin');
await page.getByLabel('Email').fill(process.env.E2E_TEST_USER_EMAIL);
await page.getByLabel('Password').fill(process.env.E2E_TEST_USER_PASSWORD);
await page.getByLabel('Email').fill(email);
await page.getByLabel('Password').fill(password);
await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page).toHaveURL('/documents');