Files
Reactive-Resume/tests/e2e/specs/semantic-css/legacy-conversion.spec.ts
T

28 lines
1.3 KiB
TypeScript

import { updateSemanticCssFixture } from "../../fixtures/db";
import { activateStylesheet, createSemanticCssResume, openSemanticCssEditor } from "../../fixtures/semantic-css";
import { expect, test } from "../../fixtures/test";
test.setTimeout(120_000);
test("@semantic-css converts legacy rules into an inactive draft before activation", async ({
authPage: page,
}, testInfo) => {
const resumeId = await createSemanticCssResume(page, testInfo);
await updateSemanticCssFixture(resumeId, { legacyStyleRule: true });
await page.reload();
await openSemanticCssEditor(page);
await expect(page.getByText("Converted stylesheet draft", { exact: true })).toBeVisible();
await expect(page.getByRole("textbox", { name: "Semantic CSS stylesheet" })).toContainText("@version 1;");
await expect(page.getByRole("textbox", { name: "Semantic CSS stylesheet" })).toContainText(
'section[type="experience"]',
);
await expect(page.getByRole("textbox", { name: "Semantic CSS stylesheet" })).toContainText("padding-left: 7pt;");
await expect(page.getByText(/^Ready to activate(?: with warnings)?$/)).toBeVisible({ timeout: 30_000 });
await activateStylesheet(page);
await page.reload();
await expect(page.getByText("Converted stylesheet draft", { exact: true })).toHaveCount(0);
await expect(page.getByText("Valid", { exact: true }).filter({ visible: true })).toBeVisible();
});