23 lines
1.1 KiB
JavaScript
23 lines
1.1 KiB
JavaScript
import { expect, test } from "@playwright/test";
|
|
import { mockApi } from "./support/network.js";
|
|
|
|
test.describe("Booking/self-serve smoke", () => {
|
|
test("@smoke @pr guest booking route loads and keeps key controls available", async ({ page }) => {
|
|
await mockApi(page);
|
|
await page.goto("/guest/book/wash", { waitUntil: "domcontentloaded" });
|
|
|
|
await expect(page).toHaveURL(/\/guest\/book\/wash$/);
|
|
await expect(page.locator("body")).not.toContainText("404");
|
|
await expect(page.getByTestId("guest-dashboard-page")).toBeVisible({ timeout: 30000 });
|
|
await expect(page.getByTestId("guest-book-wash-flow")).toBeVisible();
|
|
|
|
const departmentSelect = page.getByTestId("guest-department-select");
|
|
await expect(departmentSelect).toBeVisible();
|
|
await departmentSelect.selectOption({ index: 1 });
|
|
await page.getByTestId("guest-registration-input").fill("AB12345");
|
|
await page.getByTestId("guest-customer-number-input").fill("1001");
|
|
await expect(page.getByTestId("guest-requested-at-input")).toBeVisible();
|
|
await expect(page.getByTestId("guest-booking-continue")).toBeEnabled();
|
|
});
|
|
});
|