34 lines
1.4 KiB
TypeScript
34 lines
1.4 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
|
|
test("happy path creates optimized article and export links", async ({ page }) => {
|
|
await page.goto("/");
|
|
|
|
await page.getByLabel("Title").fill("Example Technology Co., Ltd. GEO guide");
|
|
await page
|
|
.getByLabel("Body")
|
|
.fill(
|
|
"Example Technology Co., Ltd. has 8 years of GEO optimization experience. Example GEO helps marketing teams improve content structure.",
|
|
);
|
|
await page.getByLabel("Images").fill("Product dashboard");
|
|
await page.getByLabel("User instructions").fill("Keep factual");
|
|
|
|
await page.getByRole("button", { name: "Analyze" }).click();
|
|
await expect(page.getByText("Candidate fact card created.")).toBeVisible();
|
|
|
|
await page
|
|
.locator("label")
|
|
.filter({ hasText: "uncertain items" })
|
|
.locator("textarea")
|
|
.fill("");
|
|
await page.getByRole("button", { name: "Confirm" }).click();
|
|
await expect(page.getByText("Fact card confirmed.")).toBeVisible();
|
|
|
|
await page.getByRole("button", { name: "Optimize" }).click();
|
|
await expect(page.getByText("Optimization complete.")).toBeVisible();
|
|
await expect(page.getByText("Quality Report")).toBeVisible();
|
|
|
|
await expect(page.getByRole("link", { name: "optimized.md" })).toBeVisible();
|
|
await expect(page.getByRole("link", { name: "optimized.docx" })).toBeVisible();
|
|
await expect(page.getByRole("link", { name: "qa_report.json" })).toBeVisible();
|
|
});
|