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 { 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 { 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(); }