31 lines
945 B
TypeScript
31 lines
945 B
TypeScript
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();
|
|
};
|
|
|