Files
intotheeast-com/tests/ui/auth/auth.setup.js
T

23 lines
809 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 });
});