29 lines
1003 B
TypeScript
29 lines
1003 B
TypeScript
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import { e2eRoot } from "../fixtures/env.js";
|
|
import { test, expect } from "../fixtures/test.js";
|
|
import { users } from "../fixtures/users.js";
|
|
import { LoginPage } from "../pages/LoginPage.js";
|
|
|
|
test("@p0 auth setup writes admin storage state", async ({ page }) => {
|
|
const loginPage = new LoginPage(page);
|
|
await test.step("open login page", async () => {
|
|
await loginPage.goto();
|
|
await loginPage.expectVisible();
|
|
});
|
|
|
|
await test.step("login as seeded admin", async () => {
|
|
await loginPage.login(users.admin.username, users.admin.password);
|
|
await expect
|
|
.poll(() => page.evaluate(() => window.localStorage.getItem("access_token")))
|
|
.toBeTruthy();
|
|
});
|
|
|
|
await test.step("write storage state", async () => {
|
|
const statePath = path.join(e2eRoot, users.admin.storageState);
|
|
fs.mkdirSync(path.dirname(statePath), { recursive: true });
|
|
await page.context().storageState({ path: statePath });
|
|
});
|
|
});
|
|
|