2c8d676e25
Also fix auth.setup.js AUTH_FILE path: the file lives in tests/ui/auth/ so the relative path to tests/.auth/user.json needs ../../ not ../ to match the storageState path in playwright.config.js. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WPJztrVGbwic2xTG7G9fjM
23 lines
812 B
JavaScript
23 lines
812 B
JavaScript
// @ts-check
|
|
const { test: setup } = require('@playwright/test');
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const USER = process.env.GRAV_TEST_USER;
|
|
const PASS = process.env.GRAV_TEST_PASS;
|
|
const AUTH_FILE = path.join(__dirname, '../../.auth/user.json');
|
|
|
|
setup('authenticate', async ({ page }) => {
|
|
if (!USER || !PASS) throw new Error('GRAV_TEST_USER and GRAV_TEST_PASS must be set in .env');
|
|
|
|
fs.mkdirSync(path.dirname(AUTH_FILE), { recursive: true });
|
|
|
|
await page.goto('/login');
|
|
await page.fill('input[name="username"]', USER);
|
|
await page.fill('input[name="password"]', PASS);
|
|
await page.click('button[type="submit"]');
|
|
await page.waitForSelector('text=successfully logged in', { timeout: 10_000 });
|
|
|
|
await page.context().storageState({ path: AUTH_FILE });
|
|
});
|