import type { Page } from '@playwright/test' import { expect } from '@playwright/test' export interface LoginOptions { page: Page serverURL?: string user: { email: string password: string } } /** * Logs the user into the admin panel via the login page. */ export async function login({ page, serverURL = 'http://localhost:3000', user, }: LoginOptions): Promise { await page.goto(`${serverURL}/admin/login`) await page.fill('#field-email', user.email) await page.fill('#field-password', user.password) await page.click('button[type="submit"]') await page.waitForURL(`${serverURL}/admin`) const dashboardArtifact = page.locator('span[title="Dashboard"]') await expect(dashboardArtifact).toBeVisible() }