1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-14 17:18:33 +00:00
bramw_baserow/e2e-tests/tests/builder/elements/ratingElement.spec.ts
2025-03-27 13:34:31 +00:00

54 lines
1.7 KiB
TypeScript

import { createBuilderElement } from "../../../fixtures/builder/builderElement";
import { expect, test } from "../../baserowTest";
test.describe("Builder page heading element test suite", () => {
let element1, element2;
test.beforeEach(async ({ builderPagePage }) => {
element1 = await createBuilderElement(
builderPagePage.builderPage,
"rating",
{ value: "'A Rate'" }
);
element2 = await createBuilderElement(
builderPagePage.builderPage,
"rating_input",
{ value: "'B Rate'" }
);
await builderPagePage.goto();
});
test("Can create a rating element", async ({ page, builderPagePage }) => {
const builderElementModal = await builderPagePage.openAddElementModal();
await builderElementModal.addElementByName("Rating");
await expect(
page.locator("a").filter({ hasText: "Star" }).first()
).toBeVisible();
});
test("Can create a rating input element", async ({
page,
context,
builderPagePage,
}) => {
const builderElementModal = await builderPagePage.openAddElementModal();
await builderElementModal.addElementByName("Rating input");
await expect(
page.locator('[data-test-id="rating-form-value"]')
).toBeVisible();
await page.evaluate(() => {
const node = document.querySelector(".toasts__container-top");
if (node) node.remove();
});
const [newPage] = await Promise.all([
context.waitForEvent("page"), // Waits for a new tab to open
page.locator("a").filter({ hasText: "Preview" }).click(),
]);
await newPage.waitForLoadState();
const title = await newPage.title();
await expect(title).toBe("Default page");
await expect(newPage.locator(".rating")).toHaveCount(3);
});
});