test(e2e): refresh smoke selectors for current app hooks

This commit is contained in:
Daniel Volz
2026-03-30 21:55:32 +02:00
committed by GitHub
parent 59ffb55dfd
commit 6bba006e64
5 changed files with 96 additions and 116 deletions
+18 -13
View File
@@ -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();
});
});