Merge pull request #5332 from penpot/palba-add-integration-test-viewer-role

 Add integration tests to viewer role
This commit is contained in:
Belén Albeza 2024-11-20 09:24:17 +01:00 committed by GitHub
commit f8e0283186
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 236 additions and 2 deletions

View file

@ -0,0 +1,66 @@
import { test, expect } from "@playwright/test";
import DashboardPage from "../pages/DashboardPage";
test.beforeEach(async ({ page }) => {
await DashboardPage.init(page);
await DashboardPage.mockRPC(
page,
"get-profile",
"logged-in-user/get-profile-logged-in-no-onboarding.json",
);
await DashboardPage.mockRPC(
page,
"get-teams",
"logged-in-user/get-teams-role-viewer.json",
);
});
test("User can't create a new project", async ({ page }) => {
const dashboardPage = new DashboardPage(page);
await dashboardPage.goToDashboard();
await expect(dashboardPage.addProjectButton).toBeHidden();
});
test("User has an empty placeholder", async ({ page }) => {
const dashboardPage = new DashboardPage(page);
await dashboardPage.goToDashboard();
await expect(
dashboardPage.page.getByTestId("empty-placeholder"),
).toBeVisible();
});
test("User hasn't context menu options for edit file", async ({ page }) => {
await DashboardPage.mockRPC(
page,
"get-all-projects",
"dashboard/get-all-projects.json",
);
const dashboardPage = new DashboardPage(page);
await dashboardPage.setupDrafts();
await dashboardPage.goToDrafts();
const button = dashboardPage.page.getByRole("button", { name: /New File 2/ });
await button.click();
await button.click({ button: "right" });
await expect(dashboardPage.page.getByText("rename")).toBeHidden();
await expect(dashboardPage.page.getByText("duplicate")).toBeHidden();
await expect(
dashboardPage.page.getByText("add as shared library"),
).toBeHidden();
await expect(dashboardPage.page.getByText("delete")).toBeHidden();
});
test("User hasn't create file button", async ({ page }) => {
const dashboardPage = new DashboardPage(page);
await dashboardPage.setupDrafts();
await dashboardPage.goToDrafts();
await expect(dashboardPage.page.getByText("+ New File")).toBeHidden();
});
test("User hasn't add font button", async ({ page }) => {
const dashboardPage = new DashboardPage(page);
await dashboardPage.goToFonts();
await expect(dashboardPage.page.getByText("add custom font")).toBeHidden();
});

View file

@ -52,3 +52,47 @@ test("Lists files in the drafts page", async ({ page }) => {
dashboardPage.page.getByRole("button", { name: /New File 2/ }),
).toBeVisible();
});
test("User hasn't an empty placeholder", async ({ page }) => {
const dashboardPage = new DashboardPage(page);
await dashboardPage.goToDashboard();
await expect(
dashboardPage.page.getByTestId("empty-placeholder"),
).toBeHidden();
});
test("User has context menu options for edit file", async ({ page }) => {
await DashboardPage.mockRPC(
page,
"get-all-projects",
"dashboard/get-all-projects.json",
);
const dashboardPage = new DashboardPage(page);
await dashboardPage.setupDrafts();
await dashboardPage.goToDrafts();
const button = dashboardPage.page.getByRole("button", { name: /New File 2/ });
await button.click();
await button.click({ button: "right" });
await expect(dashboardPage.page.getByText("rename")).toBeVisible();
await expect(dashboardPage.page.getByText("duplicate")).toBeVisible();
await expect(
dashboardPage.page.getByText("add as shared library"),
).toBeVisible();
await expect(dashboardPage.page.getByText("delete")).toBeVisible();
});
test("User has create file button", async ({ page }) => {
const dashboardPage = new DashboardPage(page);
await dashboardPage.setupDrafts();
await dashboardPage.goToDrafts();
await expect(dashboardPage.page.getByText("+ New File")).toBeVisible();
});
test("User has add font button", async ({ page }) => {
const dashboardPage = new DashboardPage(page);
await dashboardPage.goToFonts();
await expect(dashboardPage.page.getByText("add custom font")).toBeVisible();
});

View file

@ -0,0 +1,34 @@
import { test, expect } from "@playwright/test";
import { WorkspacePage } from "../pages/WorkspacePage";
import { presenceFixture } from "../../data/workspace/ws-notifications";
test.beforeEach(async ({ page }) => {
await WorkspacePage.init(page);
const workspacePage = new WorkspacePage(page);
await workspacePage.setupEmptyFile(page);
await WorkspacePage.mockRPC(
page,
"get-team?id=*",
"workspace/get-team-role-viewer.json",
);
await workspacePage.goToWorkspace();
});
test("User haven't toolbar", async ({ page }) => {
await expect(page.getByTitle("toggle toolbar")).toBeHidden();
await expect(page.getByTitle("design")).toBeHidden();
});
test("User haven't edition menu entries", async ({ page }) => {
await page.getByTitle("main menu").click();
await page.getByText("file").last().click();
await expect(page.getByText("Add as Shared Library")).toBeHidden();
await page.getByText("edit").click();
await expect(page.getByText("Undo")).toBeHidden();
await expect(page.getByText("Redo")).toBeHidden();
});

View file

@ -225,3 +225,28 @@ test("Bug 9066 - Problem with grid layout", async ({ page }) => {
page.getByTestId("children-6ad3e6b9-c5a0-80cf-8005-283bbe378bcb"),
).toHaveText(["CBCDEF"]);
});
test("User have toolbar", async ({ page }) => {
const workspacePage = new WorkspacePage(page);
await workspacePage.setupEmptyFile(page);
await workspacePage.goToWorkspace();
await expect(page.getByTitle("toggle toolbar")).toBeVisible();
await expect(page.getByTitle("design")).toBeVisible();
});
test("User have edition menu entries", async ({ page }) => {
const workspacePage = new WorkspacePage(page);
await workspacePage.setupEmptyFile(page);
await workspacePage.goToWorkspace();
await page.getByTitle("Main menu").click();
await page.getByText("file").last().click();
await expect(page.getByText("Add as Shared Library")).toBeVisible();
await page.getByText("edit").click();
await expect(page.getByText("Undo")).toBeVisible();
await expect(page.getByText("Redo")).toBeVisible();
});