Files
GEOAgentArticleOptimizer/tests/e2e/mvp.spec.ts
T

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();
});