test(e2e): refresh smoke selectors for current app hooks
This commit is contained in:
@@ -13,42 +13,45 @@ test.describe("Planner Page", () => {
|
||||
test("should display planner form", async ({ page }) => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
await expect(page.locator("form.planner")).toBeVisible();
|
||||
await expect(page.getByTestId("planner-form-card")).toBeVisible();
|
||||
});
|
||||
|
||||
test("should navigate to planner via nav tab", async ({ page }) => {
|
||||
await navigateTo(page, "/dashboard");
|
||||
|
||||
await page.locator('button.pill:has-text("Planner")').click();
|
||||
await page
|
||||
.getByTestId("main-nav")
|
||||
.getByRole("button", { name: /Planner/i })
|
||||
.click();
|
||||
await expect(page).toHaveURL(/\/planner/);
|
||||
await expect(page.locator("form.planner")).toBeVisible();
|
||||
await expect(page.getByTestId("planner-form-card")).toBeVisible();
|
||||
});
|
||||
|
||||
test("should have date inputs", async ({ page }) => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
const dateInputs = page.locator('form.planner input[type="datetime-local"]');
|
||||
expect(await dateInputs.count()).toBeGreaterThanOrEqual(2);
|
||||
await expect(page.getByText(/From|Von/i)).toBeVisible();
|
||||
await expect(page.getByText(/Until|Bis/i)).toBeVisible();
|
||||
});
|
||||
|
||||
test("should have a calculate button", async ({ page }) => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
const calculateBtn = page.locator('form.planner button[type="submit"]');
|
||||
const calculateBtn = page.getByTestId("planner-form-card").getByRole("button", { name: /Calculate|Calculating/i });
|
||||
await expect(calculateBtn).toBeVisible();
|
||||
});
|
||||
|
||||
test("should have a reset button", async ({ page }) => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
const resetBtn = page.locator("form.planner button.ghost");
|
||||
const resetBtn = page.getByTestId("planner-form-card").getByRole("button", { name: /Reset/i });
|
||||
await expect(resetBtn).toBeVisible();
|
||||
});
|
||||
|
||||
test("should have include-until-start checkbox", async ({ page }) => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
const checkbox = page.locator('label.planner-checkbox input[type="checkbox"]');
|
||||
const checkbox = page.getByTestId("planner-include-until-start").locator('input[type="checkbox"]');
|
||||
await expect(checkbox).toBeVisible();
|
||||
});
|
||||
|
||||
@@ -56,22 +59,24 @@ test.describe("Planner Page", () => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
// Submit the planner form (default dates should work)
|
||||
await page.locator('form.planner button[type="submit"]').click();
|
||||
await page
|
||||
.getByTestId("planner-form-card")
|
||||
.getByRole("button", { name: /Calculate/i })
|
||||
.click();
|
||||
|
||||
// After submit, the form should still be visible (no crash)
|
||||
await expect(page.locator("form.planner")).toBeVisible();
|
||||
await expect(page.getByTestId("planner-form-card")).toBeVisible();
|
||||
});
|
||||
|
||||
test("should show planner tab as active", async ({ page }) => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
const plannerTab = page.locator('button.pill:has-text("Planner")');
|
||||
await expect(plannerTab).toHaveClass(/primary/);
|
||||
await expect(page).toHaveURL(/\/planner/);
|
||||
});
|
||||
|
||||
test("Planner eyebrow shows correct heading", async ({ page }) => {
|
||||
await navigateTo(page, "/planner");
|
||||
|
||||
await expect(page.locator(".eyebrow")).toBeVisible();
|
||||
await expect(page.getByTestId("planner-page-header")).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user