major features update

This commit is contained in:
Robert Perce 2025-11-27 13:45:21 -06:00
parent 519fb49901
commit 4e2fab67c5
48 changed files with 3925 additions and 208 deletions

31
e2e/pages/util.ts Normal file
View file

@ -0,0 +1,31 @@
import type { Page } from '@playwright/test';
export const login = async (page: Page) => {
await page.goto('/');
await page.getByLabel("Username").fill("test");
await page.getByLabel("Password").fill("test");
await page.getByRole("button", { name: /login/i }).click();
};
export const todate = () => new Date().toISOString().split('T')[0];
type UserFields = {
names?: Array<string>,
birthday?: string,
};
export const verifyCreateUser = async (page: Page, fields: UserFields) => {
await page.getByRole('button', { name: /add contact/i }).click();
const { names, ...simple } = fields;
for (const name of (names ?? [])) {
await page.getByRole('textbox', { name: 'New name' }).fill(name);
await page.getByRole('button', { name: 'Add', exact: true }).click();
}
for (const [label, value] of Object.entries(simple)) {
await page.getByLabel(label).fill(value);
}
await page.getByRole('button', { name: /save/i }).click();
};