mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-04-14 17:18:33 +00:00
54 lines
1.7 KiB
TypeScript
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);
|
|
});
|
|
});
|