import { expect, type APIRequestContext, type Page } from '@playwright/test' export const MOCK_BASE_URL = 'http://127.0.0.1:5159' export const ADMIN_COOKIE = { name: 'termi_admin_session', value: 'mock-admin-session', domain: '127.0.0.1', path: '/', } export async function resetMockState(request: APIRequestContext) { const response = await request.post(`${MOCK_BASE_URL}/__playwright/reset`) expect(response.ok()).toBeTruthy() } export async function getDebugState(request: APIRequestContext) { const response = await request.get(`${MOCK_BASE_URL}/__playwright/state`) expect(response.ok()).toBeTruthy() return response.json() } export async function patchAdminSiteSettings( request: APIRequestContext, payload: Record, ) { const response = await request.patch(`${MOCK_BASE_URL}/api/admin/site-settings`, { headers: { cookie: `${ADMIN_COOKIE.name}=${ADMIN_COOKIE.value}`, }, data: payload, }) expect(response.ok()).toBeTruthy() return response.json() } export async function loginAdmin(page: Page) { await page.goto('/login') await page.getByLabel('用户名').fill('admin') await page.getByLabel('密码').fill('admin123') await page.getByRole('button', { name: '进入后台' }).click() await expect(page).toHaveURL(/\/$/) await expect(page.getByText('当前登录:admin')).toBeVisible() }