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'; 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 }) => { 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.goto('/');
await page.getByLabel('Email').fill('example@documenso.com'); await page.getByLabel('Email').fill(email);
await page.getByLabel('Password').fill('123456'); await page.getByLabel('Password').fill(password);
await page.getByRole('button', { name: 'Sign In' }).click(); await page.getByRole('button', { name: 'Sign In' }).click();
await page.waitForURL('/documents'); await page.waitForURL('/documents');
await expect(page).toHaveURL('/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: [] } }); 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 }) => { test('user can sign up with email and password', async ({ page }: { page: Page }) => {
await page.goto('/signup'); await page.goto('/signup');
await page.getByLabel('Name').fill(process.env.E2E_TEST_USERNAME); await page.getByLabel('Name').fill(username);
await page.getByLabel('Email').fill(process.env.E2E_TEST_USER_EMAIL); await page.getByLabel('Email').fill(email);
await page.getByLabel('Password').fill(process.env.E2E_TEST_USER_PASSWORD); await page.getByLabel('Password').fill(password);
const canvas = page.locator('canvas'); const canvas = page.locator('canvas');
const box = await canvas.boundingBox(); 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 }) => { test('user can login with user and password', async ({ page }: { page: Page }) => {
await page.goto('/signin'); await page.goto('/signin');
await page.getByLabel('Email').fill(process.env.E2E_TEST_USER_EMAIL); await page.getByLabel('Email').fill(email);
await page.getByLabel('Password').fill(process.env.E2E_TEST_USER_PASSWORD); await page.getByLabel('Password').fill(password);
await page.getByRole('button', { name: 'Sign In' }).click(); await page.getByRole('button', { name: 'Sign In' }).click();
await expect(page).toHaveURL('/documents'); await expect(page).toHaveURL('/documents');

View File

@ -2,13 +2,8 @@
"$schema": "https://turbo.build/schema.json", "$schema": "https://turbo.build/schema.json",
"pipeline": { "pipeline": {
"build": { "build": {
"dependsOn": [ "dependsOn": ["^build"],
"^build" "outputs": [".next/**", "!.next/cache/**"]
],
"outputs": [
".next/**",
"!.next/cache/**"
]
}, },
"lint": {}, "lint": {},
"dev": { "dev": {
@ -16,10 +11,11 @@
"persistent": true "persistent": true
} }
}, },
"globalDependencies": [ "globalDependencies": ["**/.env.*local"],
"**/.env.*local"
],
"globalEnv": [ "globalEnv": [
"E2E_TEST_USERNAME",
"E2E_TEST_USER_EMAIL",
"E2E_TEST_USER_PASSWORD",
"NEXTAUTH_URL", "NEXTAUTH_URL",
"NEXTAUTH_SECRET", "NEXTAUTH_SECRET",
"NEXT_PUBLIC_APP_URL", "NEXT_PUBLIC_APP_URL",