Files
Reactive-Resume/tests/e2e/fixtures/data.ts
2026-06-20 04:10:10 +00:00

38 lines
923 B
TypeScript

import type { TestInfo } from "@playwright/test";
const sanitize = (value: string) =>
value
.toLowerCase()
.replace(/[^a-z0-9]+/g, "-")
.replace(/^-|-$/g, "");
export type E2EAccount = {
name: string;
username: string;
email: string;
password: string;
};
function createRunSlug(testInfo: TestInfo) {
const worker = testInfo.workerIndex;
const title = sanitize(testInfo.titlePath.join("-")).slice(0, 32);
const suffix = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
return `e2e-${worker}-${title}-${suffix}`;
}
export function createAccount(testInfo: TestInfo): E2EAccount {
const username = createRunSlug(testInfo).replaceAll("-", "_").slice(0, 64);
return {
name: "E2E Test User",
username,
email: `${username}@example.test`,
password: "Password123!",
};
}
export function createResumeName(testInfo: TestInfo) {
return `E2E Resume ${createRunSlug(testInfo)}`;
}