Files
pleno-vue/tests/e2e/booking-selfserve.smoke.spec.js
T

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