mirror of
https://github.com/penpot/penpot.git
synced 2026-02-24 10:47:49 -05:00
Compare commits
7 Commits
develop
...
eva-refact
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
262fb9e7b6 | ||
|
|
54c165a0c0 | ||
|
|
179d7171ad | ||
|
|
dc820564e5 | ||
|
|
f5d32cc806 | ||
|
|
49e43f030b | ||
|
|
80c7c8205b |
@@ -96,6 +96,7 @@ test("Update an already created text shape by prepending text", async ({
|
|||||||
await workspace.clickLeafLayer("Lorem ipsum");
|
await workspace.clickLeafLayer("Lorem ipsum");
|
||||||
await workspace.textEditor.startEditing();
|
await workspace.textEditor.startEditing();
|
||||||
await workspace.textEditor.moveFromStart(0);
|
await workspace.textEditor.moveFromStart(0);
|
||||||
|
await page.evaluate(() => new Promise((resolve) => globalThis.requestIdleCallback(resolve)));
|
||||||
await page.keyboard.type("Dolor sit amet ");
|
await page.keyboard.type("Dolor sit amet ");
|
||||||
await workspace.textEditor.stopEditing();
|
await workspace.textEditor.stopEditing();
|
||||||
await workspace.waitForSelectedShapeName("Dolor sit amet Lorem ipsum");
|
await workspace.waitForSelectedShapeName("Dolor sit amet Lorem ipsum");
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
|
||||||
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
||||||
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
import {
|
import {
|
||||||
setupEmptyTokensFile,
|
setupTokensFileRender,
|
||||||
setupTokensFile,
|
setupTypographyTokensFileRender,
|
||||||
setupTypographyTokensFile,
|
|
||||||
unfoldTokenTree,
|
unfoldTokenTree,
|
||||||
} from "./helpers";
|
} from "./helpers";
|
||||||
|
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await WorkspacePage.init(page);
|
await WasmWorkspacePage.init(page);
|
||||||
|
await WasmWorkspacePage.mockConfigFlags(page, ["enable-feature-design-tokens-v1"]);
|
||||||
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe("Tokens: Apply token", () => {
|
test.describe("Tokens: Apply token", () => {
|
||||||
test("User applies color token to a shape", async ({ page }) => {
|
test("User applies color token to a shape", async ({ page }) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
|
|
||||||
test("User applies typography token to a text shape", async ({ page }) => {
|
test("User applies typography token to a text shape", async ({ page }) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTypographyTokensFile(page);
|
await setupTypographyTokensFileRender(page);
|
||||||
|
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
tokensSidebar,
|
tokensSidebar,
|
||||||
workspacePage,
|
workspacePage,
|
||||||
tokenContextMenuForToken,
|
tokenContextMenuForToken,
|
||||||
} = await setupTokensFile(page, { flags: ["enable-token-shadow"] });
|
} = await setupTokensFileRender(page, { flags: ["enable-token-shadow"] });
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
|
|
||||||
@@ -489,7 +489,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
// Unfolds dimensions on token panel
|
// Unfolds dimensions on token panel
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
@@ -540,7 +540,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
// Unfolds dimensions on token panel
|
// Unfolds dimensions on token panel
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
@@ -594,7 +594,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
// Unfolds dimensions on token panel
|
// Unfolds dimensions on token panel
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
@@ -648,7 +648,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
// Unfolds dimensions on token panel
|
// Unfolds dimensions on token panel
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
@@ -701,7 +701,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("User applies stroke width token to a shape", async ({ page }) => {
|
test("User applies stroke width token to a shape", async ({ page }) => {
|
||||||
const workspace = new WorkspacePage(page, {
|
const workspace = new WasmWorkspacePage(page, {
|
||||||
textEditor: true,
|
textEditor: true,
|
||||||
});
|
});
|
||||||
// Set up
|
// Set up
|
||||||
@@ -761,7 +761,7 @@ test.describe("Tokens: Apply token", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("User applies margin token to a shape", async ({ page }) => {
|
test("User applies margin token to a shape", async ({ page }) => {
|
||||||
const workspace = new WorkspacePage(page, {
|
const workspace = new WasmWorkspacePage(page, {
|
||||||
textEditor: true,
|
textEditor: true,
|
||||||
});
|
});
|
||||||
// Set up
|
// Set up
|
||||||
@@ -853,7 +853,7 @@ test.describe("Tokens: Detach token", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
const { workspacePage, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await page.getByRole("tab", { name: "Layers" }).click();
|
await page.getByRole("tab", { name: "Layers" }).click();
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
||||||
import {
|
import {
|
||||||
setupEmptyTokensFile,
|
setupEmptyTokensFileRender,
|
||||||
setupTokensFile,
|
setupTokensFileRender,
|
||||||
setupTypographyTokensFile,
|
setupTypographyTokensFileRender,
|
||||||
testTokenCreationFlow,
|
testTokenCreationFlow,
|
||||||
unfoldTokenTree,
|
unfoldTokenTree,
|
||||||
} from "./helpers";
|
} from "./helpers";
|
||||||
|
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await WorkspacePage.init(page);
|
await WasmWorkspacePage.init(page);
|
||||||
|
await WasmWorkspacePage.mockConfigFlags(page, ["enable-feature-design-tokens-v1"]);
|
||||||
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -158,7 +159,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
const selfReferenceError = "Token has self reference";
|
const selfReferenceError = "Token has self reference";
|
||||||
const missingReferenceError = "Missing token references";
|
const missingReferenceError = "Missing token references";
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
await tokensSidebar
|
await tokensSidebar
|
||||||
.getByRole("button", { name: "Add Token: Color" })
|
.getByRole("button", { name: "Add Token: Color" })
|
||||||
@@ -320,7 +321,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
const missingReferenceError = "Missing token references";
|
const missingReferenceError = "Missing token references";
|
||||||
|
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -465,7 +466,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
const missingReferenceError = "Missing token references";
|
const missingReferenceError = "Missing token references";
|
||||||
|
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -601,7 +602,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
const missingReferenceError = "Missing token references";
|
const missingReferenceError = "Missing token references";
|
||||||
|
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -717,7 +718,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
const missingReferenceError = "Missing token references";
|
const missingReferenceError = "Missing token references";
|
||||||
|
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -831,7 +832,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
const emptyNameError = "Name should be at least 1 character";
|
const emptyNameError = "Name should be at least 1 character";
|
||||||
|
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page, { flags: ["enable-token-shadow"] });
|
await setupEmptyTokensFileRender(page, { flags: ["enable-token-shadow"] });
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -1012,7 +1013,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
||||||
await setupTypographyTokensFile(page);
|
await setupTypographyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
await tokensTabPanel
|
await tokensTabPanel
|
||||||
@@ -1047,7 +1048,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
const emptyNameError = "Name should be at least 1 character";
|
const emptyNameError = "Name should be at least 1 character";
|
||||||
|
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page, { flags: ["enable-token-shadow"] });
|
await setupEmptyTokensFileRender(page, { flags: ["enable-token-shadow"] });
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -1232,7 +1233,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
test("User creates typography token", async ({ page }) => {
|
test("User creates typography token", async ({ page }) => {
|
||||||
const emptyNameError = "Name should be at least 1 character";
|
const emptyNameError = "Name should be at least 1 character";
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -1479,7 +1480,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
|
|
||||||
test("User adds typography token with reference", async ({ page }) => {
|
test("User adds typography token with reference", async ({ page }) => {
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
||||||
await setupTypographyTokensFile(page);
|
await setupTypographyTokensFileRender(page);
|
||||||
|
|
||||||
const newTokenTitle = "NewReference";
|
const newTokenTitle = "NewReference";
|
||||||
|
|
||||||
@@ -1529,7 +1530,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
|
|
||||||
test("User creates grouped color token", async ({ page }) => {
|
test("User creates grouped color token", async ({ page }) => {
|
||||||
const { workspacePage, tokensUpdateCreateModal, tokensSidebar } =
|
const { workspacePage, tokensUpdateCreateModal, tokensSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
await tokensSidebar
|
await tokensSidebar
|
||||||
.getByRole("button", { name: "Add Token: Color" })
|
.getByRole("button", { name: "Add Token: Color" })
|
||||||
@@ -1562,7 +1563,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
test("User cant create regular token with value missing", async ({
|
test("User cant create regular token with value missing", async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokensUpdateCreateModal } = await setupEmptyTokensFile(page);
|
const { tokensUpdateCreateModal } = await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
await tokensTabPanel
|
await tokensTabPanel
|
||||||
@@ -1589,7 +1590,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
|
|
||||||
test("User duplicate color token", async ({ page }) => {
|
test("User duplicate color token", async ({ page }) => {
|
||||||
const { tokensSidebar, tokenContextMenuForToken } =
|
const { tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokensSidebar).toBeVisible();
|
await expect(tokensSidebar).toBeVisible();
|
||||||
|
|
||||||
@@ -1613,7 +1614,7 @@ test.describe("Tokens - creation", () => {
|
|||||||
|
|
||||||
test("User creates grouped color token", async ({ page }) => {
|
test("User creates grouped color token", async ({ page }) => {
|
||||||
const { workspacePage, tokensUpdateCreateModal, tokensSidebar } =
|
const { workspacePage, tokensUpdateCreateModal, tokensSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
await tokensSidebar.getByRole("button", { name: "Add Token: Color" }).click();
|
await tokensSidebar.getByRole("button", { name: "Add Token: Color" }).click();
|
||||||
|
|
||||||
@@ -1642,7 +1643,7 @@ test("User creates grouped color token", async ({ page }) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("User cant create regular token with value missing", async ({ page }) => {
|
test("User cant create regular token with value missing", async ({ page }) => {
|
||||||
const { tokensUpdateCreateModal } = await setupEmptyTokensFile(page);
|
const { tokensUpdateCreateModal } = await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
await tokensTabPanel
|
await tokensTabPanel
|
||||||
@@ -1669,7 +1670,7 @@ test("User cant create regular token with value missing", async ({ page }) => {
|
|||||||
|
|
||||||
test("User duplicate color token", async ({ page }) => {
|
test("User duplicate color token", async ({ page }) => {
|
||||||
const { tokensSidebar, tokenContextMenuForToken } =
|
const { tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokensSidebar).toBeVisible();
|
await expect(tokensSidebar).toBeVisible();
|
||||||
|
|
||||||
@@ -1695,7 +1696,7 @@ test.describe("Tokens tab - edition", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar, tokensSidebar } =
|
||||||
await setupTypographyTokensFile(page);
|
await setupTypographyTokensFileRender(page);
|
||||||
|
|
||||||
await tokensSidebar
|
await tokensSidebar
|
||||||
.getByRole("button")
|
.getByRole("button")
|
||||||
@@ -1791,7 +1792,7 @@ test.describe("Tokens tab - edition", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokensUpdateCreateModal, tokensSidebar, tokenContextMenuForToken } =
|
const { tokensUpdateCreateModal, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokensSidebar).toBeVisible();
|
await expect(tokensSidebar).toBeVisible();
|
||||||
|
|
||||||
@@ -1827,7 +1828,7 @@ test.describe("Tokens tab - edition", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { workspacePage, tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { workspacePage, tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
await tokensTabPanel
|
await tokensTabPanel
|
||||||
@@ -1882,7 +1883,7 @@ test.describe("Tokens tab - edition", () => {
|
|||||||
test.describe("Tokens tab - delete", () => {
|
test.describe("Tokens tab - delete", () => {
|
||||||
test("User delete color token", async ({ page }) => {
|
test("User delete color token", async ({ page }) => {
|
||||||
const { tokensSidebar, tokenContextMenuForToken } =
|
const { tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokensSidebar).toBeVisible();
|
await expect(tokensSidebar).toBeVisible();
|
||||||
|
|
||||||
@@ -1902,7 +1903,7 @@ test.describe("Tokens tab - delete", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("User removes node and all child tokens", async ({ page }) => {
|
test("User removes node and all child tokens", async ({ page }) => {
|
||||||
const { tokensSidebar } = await setupTokensFile(page);
|
const { tokensSidebar } = await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokensSidebar).toBeVisible();
|
await expect(tokensSidebar).toBeVisible();
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
||||||
import { setupEmptyTokensFile } from "./helpers";
|
import { setupEmptyTokensFileRender } from "./helpers";
|
||||||
|
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await WorkspacePage.init(page);
|
await WasmWorkspacePage.init(page);
|
||||||
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ test.describe("Tokens tab - common tests", () => {
|
|||||||
test("Clicking tokens tab button opens tokens sidebar tab", async ({
|
test("Clicking tokens tab button opens tokens sidebar tab", async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
import { WorkspacePage } from "../../pages/WorkspacePage";
|
||||||
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
|
|
||||||
const setupEmptyTokensFile = async (page, options = {}) => {
|
const setupEmptyTokensFile = async (page, options = {}) => {
|
||||||
const { flags = [] } = options;
|
const { flags = [] } = options;
|
||||||
@@ -40,6 +41,45 @@ const setupEmptyTokensFile = async (page, options = {}) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const setupEmptyTokensFileRender = async (page, options = {}) => {
|
||||||
|
const { flags = [] } = options;
|
||||||
|
|
||||||
|
const workspacePage = new WasmWorkspacePage(page);
|
||||||
|
if (flags.length > 0) {
|
||||||
|
await workspacePage.mockConfigFlags(flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
await workspacePage.setupEmptyFile();
|
||||||
|
await workspacePage.mockRPC(
|
||||||
|
"get-team?id=*",
|
||||||
|
"workspace/get-team-tokens.json",
|
||||||
|
);
|
||||||
|
|
||||||
|
await workspacePage.mockRPC(
|
||||||
|
"update-file?id=*",
|
||||||
|
"workspace/update-file-create-rect.json",
|
||||||
|
);
|
||||||
|
|
||||||
|
await workspacePage.goToWorkspace({
|
||||||
|
fileId: "c7ce0794-0992-8105-8004-38f280443849",
|
||||||
|
pageId: "66697432-c33d-8055-8006-2c62cc084cad",
|
||||||
|
});
|
||||||
|
|
||||||
|
const tokensTabButton = page.getByRole("tab", { name: "Tokens" });
|
||||||
|
await tokensTabButton.click();
|
||||||
|
|
||||||
|
return {
|
||||||
|
workspacePage,
|
||||||
|
tokenThemeUpdateCreateModal: workspacePage.tokenThemeUpdateCreateModal,
|
||||||
|
tokensUpdateCreateModal: workspacePage.tokensUpdateCreateModal,
|
||||||
|
tokenThemesSetsSidebar: workspacePage.tokenThemesSetsSidebar,
|
||||||
|
tokenSetItems: workspacePage.tokenSetItems,
|
||||||
|
tokensSidebar: workspacePage.tokensSidebar,
|
||||||
|
tokenSetGroupItems: workspacePage.tokenSetGroupItems,
|
||||||
|
tokenContextMenuForSet: workspacePage.tokenContextMenuForSet,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const setupTokensFile = async (page, options = {}) => {
|
const setupTokensFile = async (page, options = {}) => {
|
||||||
const {
|
const {
|
||||||
file = "workspace/get-file-tokens.json",
|
file = "workspace/get-file-tokens.json",
|
||||||
@@ -85,6 +125,51 @@ const setupTokensFile = async (page, options = {}) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const setupTokensFileRender = async (page, options = {}) => {
|
||||||
|
const {
|
||||||
|
file = "workspace/get-file-tokens.json",
|
||||||
|
fileFragment = "workspace/get-file-fragment-tokens.json",
|
||||||
|
flags = ["enable-feature-token-input"],
|
||||||
|
} = options;
|
||||||
|
|
||||||
|
const workspacePage = new WasmWorkspacePage(page);
|
||||||
|
if (flags.length > 0) {
|
||||||
|
await workspacePage.mockConfigFlags(flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
await workspacePage.setupEmptyFile();
|
||||||
|
await workspacePage.mockRPC(
|
||||||
|
"get-team?id=*",
|
||||||
|
"workspace/get-team-tokens.json",
|
||||||
|
);
|
||||||
|
await workspacePage.mockRPC(/get\-file\?/, file);
|
||||||
|
await workspacePage.mockRPC(/get\-file\-fragment\?/, fileFragment);
|
||||||
|
await workspacePage.mockRPC(
|
||||||
|
"update-file?id=*",
|
||||||
|
"workspace/update-file-create-rect.json",
|
||||||
|
);
|
||||||
|
|
||||||
|
await workspacePage.goToWorkspace({
|
||||||
|
fileId: "c7ce0794-0992-8105-8004-38f280443849",
|
||||||
|
pageId: "66697432-c33d-8055-8006-2c62cc084cad",
|
||||||
|
});
|
||||||
|
|
||||||
|
const tokensTabButton = page.getByRole("tab", { name: "Tokens" });
|
||||||
|
await tokensTabButton.click();
|
||||||
|
|
||||||
|
return {
|
||||||
|
workspacePage,
|
||||||
|
tokensUpdateCreateModal: workspacePage.tokensUpdateCreateModal,
|
||||||
|
tokenThemeUpdateCreateModal: workspacePage.tokenThemeUpdateCreateModal,
|
||||||
|
tokenThemesSetsSidebar: workspacePage.tokenThemesSetsSidebar,
|
||||||
|
tokenSetItems: workspacePage.tokenSetItems,
|
||||||
|
tokenSetGroupItems: workspacePage.tokenSetGroupItems,
|
||||||
|
tokensSidebar: workspacePage.tokensSidebar,
|
||||||
|
tokenContextMenuForToken: workspacePage.tokenContextMenuForToken,
|
||||||
|
tokenContextMenuForSet: workspacePage.tokenContextMenuForSet,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const setupTypographyTokensFile = async (page, options = {}) => {
|
const setupTypographyTokensFile = async (page, options = {}) => {
|
||||||
return setupTokensFile(page, {
|
return setupTokensFile(page, {
|
||||||
file: "workspace/get-file-typography-tokens.json",
|
file: "workspace/get-file-typography-tokens.json",
|
||||||
@@ -93,6 +178,14 @@ const setupTypographyTokensFile = async (page, options = {}) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const setupTypographyTokensFileRender = async (page, options = {}) => {
|
||||||
|
return setupTokensFileRender(page, {
|
||||||
|
file: "workspace/get-file-typography-tokens.json",
|
||||||
|
fileFragment: "workspace/get-file-fragment-typography-tokens.json",
|
||||||
|
...options,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
const testTokenCreationFlow = async (
|
const testTokenCreationFlow = async (
|
||||||
page,
|
page,
|
||||||
{
|
{
|
||||||
@@ -114,7 +207,7 @@ const testTokenCreationFlow = async (
|
|||||||
const missingReferenceError = "Missing token references";
|
const missingReferenceError = "Missing token references";
|
||||||
|
|
||||||
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
const { tokensUpdateCreateModal, tokenThemesSetsSidebar } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
// Open modal
|
// Open modal
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
@@ -259,8 +352,11 @@ const unfoldTokenTree = async (tokensTabPanel, type, tokenName) => {
|
|||||||
|
|
||||||
export {
|
export {
|
||||||
setupEmptyTokensFile,
|
setupEmptyTokensFile,
|
||||||
|
setupEmptyTokensFileRender,
|
||||||
setupTokensFile,
|
setupTokensFile,
|
||||||
|
setupTokensFileRender,
|
||||||
setupTypographyTokensFile,
|
setupTypographyTokensFile,
|
||||||
|
setupTypographyTokensFileRender,
|
||||||
testTokenCreationFlow,
|
testTokenCreationFlow,
|
||||||
unfoldTokenTree,
|
unfoldTokenTree,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,21 +1,23 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
import { WorkspacePage } from "../../pages/WorkspacePage";
|
||||||
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
import {
|
import {
|
||||||
setupEmptyTokensFile,
|
setupTokensFileRender,
|
||||||
setupTokensFile,
|
setupTypographyTokensFileRender,
|
||||||
setupTypographyTokensFile,
|
|
||||||
} from "./helpers";
|
} from "./helpers";
|
||||||
|
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await WorkspacePage.init(page);
|
await WorkspacePage.init(page);
|
||||||
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
await WasmWorkspacePage.mockConfigFlags(page, [
|
||||||
|
"enable-feature-design-tokens-v1",
|
||||||
|
]);
|
||||||
|
await WasmWorkspacePage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
const createToken = async (page, type, name, textFieldName, value) => {
|
const createToken = async (page, type, name, textFieldName, value) => {
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
|
|
||||||
const { tokensUpdateCreateModal } = await setupTokensFile(page, {
|
const { tokensUpdateCreateModal } = await setupTokensFileRender(page, {
|
||||||
flags: ["enable-token-shadow"],
|
flags: ["enable-token-shadow"],
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -42,7 +44,7 @@ const createToken = async (page, type, name, textFieldName, value) => {
|
|||||||
|
|
||||||
const renameToken = async (page, oldName, newName) => {
|
const renameToken = async (page, oldName, newName) => {
|
||||||
const { tokensUpdateCreateModal, tokensSidebar, tokenContextMenuForToken } =
|
const { tokensUpdateCreateModal, tokensSidebar, tokenContextMenuForToken } =
|
||||||
await setupTokensFile(page, { flags: ["enable-token-shadow"] });
|
await setupTokensFileRender(page, { flags: ["enable-token-shadow"] });
|
||||||
|
|
||||||
const baseToken = tokensSidebar.getByRole("button", {
|
const baseToken = tokensSidebar.getByRole("button", {
|
||||||
name: oldName,
|
name: oldName,
|
||||||
@@ -64,7 +66,7 @@ const renameToken = async (page, oldName, newName) => {
|
|||||||
const createCompositeDerivedToken = async (page, type, name, reference) => {
|
const createCompositeDerivedToken = async (page, type, name, reference) => {
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
|
|
||||||
const { tokensUpdateCreateModal } = await setupTokensFile(page, {
|
const { tokensUpdateCreateModal } = await setupTokensFileRender(page, {
|
||||||
flags: ["enable-token-shadow"],
|
flags: ["enable-token-shadow"],
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -98,7 +100,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
test("User renames box shadow token with alias references", async ({
|
test("User renames box shadow token with alias references", async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokensSidebar } = await setupTokensFile(page, {
|
const { tokensSidebar } = await setupTokensFileRender(page, {
|
||||||
flags: ["enable-token-shadow"],
|
flags: ["enable-token-shadow"],
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -144,7 +146,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
tokensSidebar,
|
tokensSidebar,
|
||||||
tokenContextMenuForToken,
|
tokenContextMenuForToken,
|
||||||
workspacePage,
|
workspacePage,
|
||||||
} = await setupTokensFile(page, { flags: ["enable-token-shadow"] });
|
} = await setupTokensFileRender(page, { flags: ["enable-token-shadow"] });
|
||||||
|
|
||||||
// Create base shadow token
|
// Create base shadow token
|
||||||
await createToken(page, "Shadow", "primary-shadow", "Color", "#000000");
|
await createToken(page, "Shadow", "primary-shadow", "Color", "#000000");
|
||||||
@@ -249,7 +251,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
tokensUpdateCreateModal,
|
tokensUpdateCreateModal,
|
||||||
tokensSidebar,
|
tokensSidebar,
|
||||||
tokenContextMenuForToken,
|
tokenContextMenuForToken,
|
||||||
} = await setupTypographyTokensFile(page);
|
} = await setupTypographyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
|
|
||||||
@@ -293,7 +295,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
tokensSidebar,
|
tokensSidebar,
|
||||||
tokenContextMenuForToken,
|
tokenContextMenuForToken,
|
||||||
workspacePage,
|
workspacePage,
|
||||||
} = await setupTypographyTokensFile(page);
|
} = await setupTypographyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" });
|
||||||
|
|
||||||
@@ -401,7 +403,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
test("User renames border radius token with alias references", async ({
|
test("User renames border radius token with alias references", async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokensSidebar } = await setupTokensFile(page);
|
const { tokensSidebar } = await setupTokensFileRender(page);
|
||||||
|
|
||||||
// Create base border radius token
|
// Create base border radius token
|
||||||
await createToken(page, "Border Radius", "base-radius", "Value", "4");
|
await createToken(page, "Border Radius", "base-radius", "Value", "4");
|
||||||
@@ -443,7 +445,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
tokensUpdateCreateModal,
|
tokensUpdateCreateModal,
|
||||||
tokensSidebar,
|
tokensSidebar,
|
||||||
tokenContextMenuForToken,
|
tokenContextMenuForToken,
|
||||||
} = await setupTokensFile(page);
|
} = await setupTokensFileRender(page);
|
||||||
|
|
||||||
// Create base border radius token
|
// Create base border radius token
|
||||||
await createToken(page, "Border Radius", "radius-sm", "Value", "4");
|
await createToken(page, "Border Radius", "radius-sm", "Value", "4");
|
||||||
@@ -512,7 +514,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
|
|
||||||
test.describe("Cancel remap", () => {
|
test.describe("Cancel remap", () => {
|
||||||
test("Only rename - breaks reference", async ({ page }) => {
|
test("Only rename - breaks reference", async ({ page }) => {
|
||||||
const { tokensSidebar } = await setupTokensFile(page, {
|
const { tokensSidebar } = await setupTokensFileRender(page, {
|
||||||
flags: ["enable-token-shadow"],
|
flags: ["enable-token-shadow"],
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -551,7 +553,7 @@ test.describe("Remapping Tokens", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("Cancel process - no changes applied", async ({ page }) => {
|
test("Cancel process - no changes applied", async ({ page }) => {
|
||||||
const { tokensSidebar } = await setupTokensFile(page, {
|
const { tokensSidebar } = await setupTokensFileRender(page, {
|
||||||
flags: ["enable-token-shadow"],
|
flags: ["enable-token-shadow"],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
import { setupEmptyTokensFile, setupTokensFile } from "./helpers";
|
import { setupEmptyTokensFileRender, setupTokensFileRender } from "./helpers";
|
||||||
|
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await WorkspacePage.init(page);
|
await WasmWorkspacePage.init(page);
|
||||||
|
await WasmWorkspacePage.mockConfigFlags(page, ["enable-feature-design-tokens-v1"]);
|
||||||
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -42,7 +43,7 @@ test.describe("Tokens: Sets Tab", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokenThemesSetsSidebar, tokenContextMenuForSet } =
|
const { tokenThemesSetsSidebar, tokenContextMenuForSet } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabButton = tokenThemesSetsSidebar
|
const tokensTabButton = tokenThemesSetsSidebar
|
||||||
.getByRole("button", { name: "Add set" })
|
.getByRole("button", { name: "Add set" })
|
||||||
@@ -139,7 +140,7 @@ test.describe("Tokens: Sets Tab", () => {
|
|||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
const { tokenThemesSetsSidebar, tokenContextMenuForSet } =
|
const { tokenThemesSetsSidebar, tokenContextMenuForSet } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
const tokensTabButton = tokenThemesSetsSidebar
|
const tokensTabButton = tokenThemesSetsSidebar
|
||||||
.getByRole("button", { name: "Add set" })
|
.getByRole("button", { name: "Add set" })
|
||||||
@@ -176,7 +177,7 @@ test.describe("Tokens: Sets Tab", () => {
|
|||||||
|
|
||||||
test("Fold/Unfold set", async ({ page }) => {
|
test("Fold/Unfold set", async ({ page }) => {
|
||||||
const { tokenThemesSetsSidebar, tokenSetGroupItems } =
|
const { tokenThemesSetsSidebar, tokenSetGroupItems } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokenThemesSetsSidebar).toBeVisible();
|
await expect(tokenThemesSetsSidebar).toBeVisible();
|
||||||
|
|
||||||
@@ -202,7 +203,7 @@ test.describe("Tokens: Sets Tab", () => {
|
|||||||
|
|
||||||
test("Change current theme", async ({ page }) => {
|
test("Change current theme", async ({ page }) => {
|
||||||
const { tokenThemesSetsSidebar, tokenSetItems } =
|
const { tokenThemesSetsSidebar, tokenSetItems } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokenSetItems.nth(1)).toHaveAttribute("aria-checked", "true");
|
await expect(tokenSetItems.nth(1)).toHaveAttribute("aria-checked", "true");
|
||||||
await expect(tokenSetItems.nth(2)).toHaveAttribute("aria-checked", "false");
|
await expect(tokenSetItems.nth(2)).toHaveAttribute("aria-checked", "false");
|
||||||
@@ -219,7 +220,7 @@ test.describe("Tokens: Sets Tab", () => {
|
|||||||
|
|
||||||
test("Display active set and verify if is enabled", async ({ page }) => {
|
test("Display active set and verify if is enabled", async ({ page }) => {
|
||||||
const { tokenThemesSetsSidebar, tokensSidebar, tokenSetItems } =
|
const { tokenThemesSetsSidebar, tokensSidebar, tokenSetItems } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
// Create set
|
// Create set
|
||||||
await tokenThemesSetsSidebar
|
await tokenThemesSetsSidebar
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
||||||
import { setupEmptyTokensFile, setupTokensFile } from "./helpers";
|
import { setupEmptyTokensFileRender, setupTokensFileRender } from "./helpers";
|
||||||
|
|
||||||
// THEMES HELPERS
|
// THEMES HELPERS
|
||||||
|
|
||||||
@@ -23,14 +23,17 @@ const checkInputFieldWithoutError = async (inputLocator) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await WorkspacePage.init(page);
|
await WasmWorkspacePage.init(page);
|
||||||
|
await WasmWorkspacePage.mockConfigFlags(page, [
|
||||||
|
"enable-feature-design-tokens-v1",
|
||||||
|
]);
|
||||||
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe("Tokens Themes", () => {
|
test.describe("Tokens Themes", () => {
|
||||||
test("User edits theme and activates it in the sidebar", async ({ page }) => {
|
test("User edits theme and activates it in the sidebar", async ({ page }) => {
|
||||||
const { tokenThemesSetsSidebar, tokenThemeUpdateCreateModal } =
|
const { tokenThemesSetsSidebar, tokenThemeUpdateCreateModal } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokenThemesSetsSidebar).toBeVisible();
|
await expect(tokenThemesSetsSidebar).toBeVisible();
|
||||||
|
|
||||||
@@ -117,7 +120,7 @@ test.describe("Tokens Themes", () => {
|
|||||||
test.describe("Tokens: Themes modal", () => {
|
test.describe("Tokens: Themes modal", () => {
|
||||||
test("Delete theme", async ({ page }) => {
|
test("Delete theme", async ({ page }) => {
|
||||||
const { tokenThemeUpdateCreateModal, workspacePage } =
|
const { tokenThemeUpdateCreateModal, workspacePage } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
workspacePage.openTokenThemesModal();
|
workspacePage.openTokenThemesModal();
|
||||||
|
|
||||||
@@ -137,7 +140,7 @@ test.describe("Tokens: Themes modal", () => {
|
|||||||
|
|
||||||
test("Add new theme in empty file", async ({ page }) => {
|
test("Add new theme in empty file", async ({ page }) => {
|
||||||
const { tokenThemesSetsSidebar, tokenThemeUpdateCreateModal } =
|
const { tokenThemesSetsSidebar, tokenThemeUpdateCreateModal } =
|
||||||
await setupEmptyTokensFile(page);
|
await setupEmptyTokensFileRender(page);
|
||||||
|
|
||||||
await tokenThemesSetsSidebar
|
await tokenThemesSetsSidebar
|
||||||
.getByRole("button", { name: "Create one." })
|
.getByRole("button", { name: "Create one." })
|
||||||
@@ -170,7 +173,7 @@ test.describe("Tokens: Themes modal", () => {
|
|||||||
|
|
||||||
test("Add new theme", async ({ page }) => {
|
test("Add new theme", async ({ page }) => {
|
||||||
const { tokenThemeUpdateCreateModal, workspacePage } =
|
const { tokenThemeUpdateCreateModal, workspacePage } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
workspacePage.openTokenThemesModal();
|
workspacePage.openTokenThemesModal();
|
||||||
|
|
||||||
@@ -210,7 +213,7 @@ test.describe("Tokens: Themes modal", () => {
|
|||||||
|
|
||||||
test("Edit theme", async ({ page }) => {
|
test("Edit theme", async ({ page }) => {
|
||||||
const { tokenThemeUpdateCreateModal, workspacePage } =
|
const { tokenThemeUpdateCreateModal, workspacePage } =
|
||||||
await setupTokensFile(page);
|
await setupTokensFileRender(page);
|
||||||
|
|
||||||
workspacePage.openTokenThemesModal();
|
workspacePage.openTokenThemesModal();
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
import { WorkspacePage } from "../../pages/WorkspacePage";
|
import { WasmWorkspacePage } from "../../pages/WasmWorkspacePage";
|
||||||
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
import { BaseWebSocketPage } from "../../pages/BaseWebSocketPage";
|
||||||
import { setupTokensFile, unfoldTokenTree } from "./helpers";
|
import { setupTokensFileRender, unfoldTokenTree } from "./helpers";
|
||||||
|
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await WorkspacePage.init(page);
|
await WasmWorkspacePage.init(page);
|
||||||
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-tokens.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe("Tokens - node tree", () => {
|
test.describe("Tokens - node tree", () => {
|
||||||
test("User fold/unfold color tokens", async ({ page }) => {
|
test("User fold/unfold color tokens", async ({ page }) => {
|
||||||
const { tokensSidebar } = await setupTokensFile(page);
|
const { tokensSidebar } = await setupTokensFileRender(page);
|
||||||
|
|
||||||
await expect(tokensSidebar).toBeVisible();
|
await expect(tokensSidebar).toBeVisible();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user