All checks were successful
PR Checks / lint-test-and-docker-build (pull_request) Successful in 2m18s
28 lines
1011 B
TypeScript
28 lines
1011 B
TypeScript
import { expect, type Page } from '@playwright/test';
|
|
import { TEST_USERS } from '../setup/test-users.js';
|
|
|
|
const LOGIN_URL = '/trips/login';
|
|
const DASHBOARD_URL = '/trips/dashboard';
|
|
const PROFILE_URL = '/trips/profile';
|
|
|
|
export async function loginAsLocalUser(
|
|
page: Page,
|
|
username: string,
|
|
password: string
|
|
): Promise<void> {
|
|
await page.goto(LOGIN_URL);
|
|
await page.fill('input[name="identifier"]', username);
|
|
await page.fill('input[name="password"]', password);
|
|
await page.click('button[type="submit"]:has-text("Sign in locally")');
|
|
await page.waitForURL(`**${DASHBOARD_URL}`, { timeout: 15_000 });
|
|
}
|
|
|
|
export async function ensureSelfProfile(page: Page, email = TEST_USERS.regular.email): Promise<void> {
|
|
await page.goto(PROFILE_URL);
|
|
await page.fill('#first_name', 'E2E');
|
|
await page.fill('#last_name', 'User');
|
|
await page.fill('#email', email);
|
|
await page.getByRole('button', { name: 'Save profile' }).click();
|
|
await expect(page.getByRole('heading', { name: 'My Profile' })).toBeVisible();
|
|
}
|