From 5f22220a8bc06116f018449029d11ee9f5f523e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moya?= Date: Fri, 31 Oct 2025 17:00:56 +0100 Subject: [PATCH] :bug: Add test to catch a fixed bug and avoid regressions --- frontend/playwright/ui/specs/tokens.spec.js | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/frontend/playwright/ui/specs/tokens.spec.js b/frontend/playwright/ui/specs/tokens.spec.js index 743200e9b8..2bb09a3564 100644 --- a/frontend/playwright/ui/specs/tokens.spec.js +++ b/frontend/playwright/ui/specs/tokens.spec.js @@ -36,6 +36,7 @@ const setupEmptyTokensFile = async (page, options = {}) => { return { workspacePage, + tokenThemeUpdateCreateModal: workspacePage.tokenThemeUpdateCreateModal, tokensUpdateCreateModal: workspacePage.tokensUpdateCreateModal, tokenThemesSetsSidebar: workspacePage.tokenThemesSetsSidebar, tokenSetItems: workspacePage.tokenSetItems, @@ -818,6 +819,41 @@ test.describe("Tokens: Themes modal", () => { ).toHaveCount(1); }); + test("Add new theme in empty file", async ({ page }) => { + const { tokenThemesSetsSidebar, tokenThemeUpdateCreateModal } = + await setupEmptyTokensFile(page); + + await tokenThemesSetsSidebar + .getByRole("button", { name: "Create one." }) + .first() + .click(); + + await expect( + tokenThemeUpdateCreateModal + ).toBeVisible(); + + const groupInput = tokenThemeUpdateCreateModal.getByLabel("Group"); + const nameInput = tokenThemeUpdateCreateModal.getByLabel("Theme"); + const saveButton = tokenThemeUpdateCreateModal.getByRole("button", { + name: "Save theme", + }); + + await groupInput.fill("New Group name"); + await nameInput.fill("New Theme name"); + + await checkInputFieldWithoutError(tokenThemeUpdateCreateModal, nameInput); + await expect(saveButton).not.toBeDisabled(); + + await saveButton.click(); + + await expect( + tokenThemeUpdateCreateModal.getByText("New Theme name"), + ).toBeVisible(); + await expect( + tokenThemeUpdateCreateModal.getByText("New Group name"), + ).toBeVisible(); + }); + test("Add new theme", async ({ page }) => { const { tokenThemeUpdateCreateModal, workspacePage } = await setupTokensFile(page);