mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-10 04:54:56 +10:00
38 lines
923 B
TypeScript
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)}`;
|
|
}
|