mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-06-22 04:11:55 +10:00
dfd2c77bc9
* docs: design e2e test setup Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * docs: plan e2e test implementation Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * test: add playwright e2e scripts Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * test: configure playwright Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * test: add core e2e fixtures and specs Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * ci: run e2e tests on pull requests Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * [autofix.ci] apply automated fixes * test: stabilize e2e suite Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * test: ignore playwright artifacts Co-authored-by: Amruth Pillai <im.amruth@gmail.com> * Update .github/workflows/e2e.yml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * test: address e2e review feedback Co-authored-by: Amruth Pillai <im.amruth@gmail.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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)}`;
|
|
}
|