48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
import { loginAsUser } from "./fixtures";
|
|
|
|
const json = (body, status = 200) => ({
|
|
status,
|
|
contentType: "application/json",
|
|
body: JSON.stringify(body),
|
|
});
|
|
|
|
const suppressVersionCheck = async (page) => {
|
|
await page.addInitScript(() => {
|
|
window.localStorage.setItem("lastVersionCheck", String(Date.now()));
|
|
});
|
|
|
|
await page.route(/\/worker\/version(\?.*)?$/i, async (route) => {
|
|
await route.fulfill(
|
|
json({
|
|
data: {
|
|
version: "test-build",
|
|
},
|
|
})
|
|
);
|
|
});
|
|
};
|
|
|
|
test("[PAGES][User][/user/vehicles] shows the current vehicles overview shell", async ({ page }) => {
|
|
await suppressVersionCheck(page);
|
|
await loginAsUser(page);
|
|
await page.goto("/user/vehicles");
|
|
|
|
await expect(page.getByTestId("user-vehicles-add")).toBeVisible();
|
|
await expect(page.getByTestId("user-vehicles-table")).toBeVisible();
|
|
});
|
|
|
|
test("[PAGES][User][/user/vehicles] opens the add-vehicle dialog", async ({ page }) => {
|
|
await suppressVersionCheck(page);
|
|
await loginAsUser(page);
|
|
await page.goto("/user/vehicles");
|
|
|
|
await page.getByTestId("user-vehicles-add").click();
|
|
const dialog = page.getByRole("dialog");
|
|
await expect(dialog).toBeVisible();
|
|
await expect(dialog.getByRole("heading", { name: /opret/i })).toBeVisible();
|
|
await expect(dialog.locator("label").filter({ hasText: /^Type$/ })).toBeVisible();
|
|
await expect(dialog.getByRole("button", { name: /gem/i })).toBeVisible();
|
|
await expect(dialog.getByRole("button", { name: /annuller/i })).toBeVisible();
|
|
});
|