mirror of
https://github.com/penpot/penpot.git
synced 2025-01-10 08:50:57 -05:00
117 lines
4 KiB
JavaScript
117 lines
4 KiB
JavaScript
import { test, expect } from "@playwright/test";
|
|
import { ViewerPage } from "../pages/ViewerPage";
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
await ViewerPage.init(page);
|
|
|
|
});
|
|
|
|
const singleBoardFileId = "dd5cc0bb-91ff-81b9-8004-77df9cd3edb1";
|
|
const singleBoardPageId = "dd5cc0bb-91ff-81b9-8004-77df9cd3edb2";
|
|
|
|
test("User goes to an empty Viewer", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupEmptyFile();
|
|
|
|
await viewerPage.goToViewer();
|
|
|
|
await expect(viewerPage.page.getByTestId("penpot-logo-link")).toBeVisible();
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|
|
|
|
test("User goes to the Viewer", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupFileWithSingleBoard();
|
|
|
|
await viewerPage.goToViewer({ fileId: singleBoardFileId, pageId: singleBoardPageId });
|
|
|
|
await expect(viewerPage.page.getByTestId("penpot-logo-link")).toBeVisible();
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|
|
|
|
test("User goes to the Viewer and opens zoom modal", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupFileWithSingleBoard();
|
|
|
|
await viewerPage.goToViewer({ fileId: singleBoardFileId, pageId: singleBoardPageId });
|
|
|
|
await viewerPage.page.getByTitle("Zoom").click();
|
|
|
|
await expect(viewerPage.page.getByTestId("penpot-logo-link")).toBeVisible();
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|
|
|
|
test("User goes to the Viewer Comments", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupFileWithComments();
|
|
|
|
await viewerPage.goToViewer({ fileId: singleBoardFileId, pageId: singleBoardPageId });
|
|
|
|
await viewerPage.showComments();
|
|
await viewerPage.showCommentsThread(1);
|
|
await expect(viewerPage.page.getByRole("textbox", { name: "Reply" })).toBeVisible();
|
|
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|
|
|
|
test("User opens Viewer comment list", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupFileWithComments();
|
|
|
|
await viewerPage.goToViewer({ fileId: singleBoardFileId, pageId: singleBoardPageId });
|
|
|
|
await viewerPage.showComments();
|
|
await viewerPage.page.getByTestId("viewer-comments-dropdown").click();
|
|
|
|
await viewerPage.page.getByText("Show comments list").click();
|
|
|
|
await expect(viewerPage.page.getByRole("button", { name: "Show all comments" })).toBeVisible();
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|
|
|
|
test("User goes to the Viewer Inspect code", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupFileWithComments();
|
|
|
|
await viewerPage.goToViewer({ fileId: singleBoardFileId, pageId: singleBoardPageId });
|
|
|
|
await viewerPage.showCode();
|
|
|
|
await expect(viewerPage.page.getByText("Size and position")).toBeVisible();
|
|
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|
|
|
|
test("User goes to the Viewer Inspect code, code tab", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupFileWithComments();
|
|
|
|
await viewerPage.goToViewer({ fileId: singleBoardFileId, pageId: singleBoardPageId });
|
|
|
|
await viewerPage.showCode();
|
|
await viewerPage.page.getByTestId("code").click();
|
|
|
|
await expect(viewerPage.page.getByRole("button", { name: "Copy all code" })).toBeVisible();
|
|
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|
|
|
|
test("User opens Share modal", async ({ page }) => {
|
|
const viewerPage = new ViewerPage(page);
|
|
await viewerPage.setupLoggedInUser();
|
|
await viewerPage.setupFileWithSingleBoard();
|
|
|
|
await viewerPage.goToViewer({ fileId: singleBoardFileId, pageId: singleBoardPageId });
|
|
|
|
await viewerPage.page.getByRole("button", { name: "Share" }).click();
|
|
|
|
await expect(viewerPage.page.getByRole("button", { name: "Get link" })).toBeVisible();
|
|
await expect(viewerPage.page).toHaveScreenshot();
|
|
});
|