mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-21 07:23:28 +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>
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import type { Page, TestInfo } from "@playwright/test";
|
|
import { expect } from "@playwright/test";
|
|
import { createResumeName } from "./data";
|
|
|
|
export async function createSampleResumeFromDashboard(page: Page, testInfo: TestInfo) {
|
|
const resumeName = createResumeName(testInfo);
|
|
|
|
await page.goto("/dashboard/resumes");
|
|
await page.getByText("Create a new resume").click();
|
|
|
|
const dialog = page.getByRole("dialog", { name: "Create a new resume" });
|
|
await dialog.getByLabel("Name").fill(resumeName);
|
|
|
|
const createGroup = dialog.getByRole("group", { name: "Create resume with options" });
|
|
await createGroup.getByRole("button").last().click();
|
|
await page.getByRole("menuitem", { name: "Create a Sample Resume" }).click();
|
|
|
|
const resumeLink = page.getByRole("link", { name: new RegExp(resumeName) });
|
|
await expect(resumeLink).toBeVisible();
|
|
await resumeLink.click();
|
|
await page.waitForURL(/\/builder\/.+/);
|
|
|
|
return resumeName;
|
|
}
|
|
|
|
export async function openSidebarSection(page: Page, title: string) {
|
|
await page.getByTitle(title, { exact: true }).click();
|
|
await expect(page.getByRole("heading", { name: title, exact: true })).toBeVisible();
|
|
}
|