mirror of
https://github.com/thiloho/archtika.git
synced 2025-11-22 02:41:35 +01:00
65 lines
2.2 KiB
TypeScript
65 lines
2.2 KiB
TypeScript
import { test } from "@playwright/test";
|
|
import {
|
|
allUsers,
|
|
register,
|
|
authenticate,
|
|
userOwner,
|
|
collabTestingWebsite,
|
|
permissionLevels,
|
|
collabUsers,
|
|
userDummy
|
|
} from "./shared";
|
|
|
|
for (const username of allUsers) {
|
|
test(`Register user "${username}`, async ({ page }) => {
|
|
await register(username, page);
|
|
});
|
|
}
|
|
|
|
test.describe("Collaborator testing website", () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await authenticate(userOwner, page);
|
|
});
|
|
|
|
test("Create website", async ({ page }) => {
|
|
await page.getByRole("button", { name: "Create website" }).click();
|
|
await page.getByLabel("Type:").selectOption("Docs");
|
|
await page.locator("#create-website-modal").getByLabel("Title:").click();
|
|
await page.locator("#create-website-modal").getByLabel("Title:").fill(collabTestingWebsite);
|
|
await page
|
|
.locator("#create-website-modal")
|
|
.getByRole("button", { name: "Create website" })
|
|
.click();
|
|
});
|
|
|
|
for (const permissionLevel of permissionLevels) {
|
|
test(`Add collaborator "${collabUsers.get(permissionLevel)}"`, async ({ page }) => {
|
|
await page.getByRole("link", { name: collabTestingWebsite }).click();
|
|
await page.getByRole("link", { name: "Collaborators" }).click();
|
|
await page.getByRole("button", { name: "Add collaborator" }).click();
|
|
await page.getByLabel("Username:").click();
|
|
await page.getByLabel("Username:").fill(collabUsers.get(permissionLevel)!);
|
|
await page
|
|
.locator("#add-collaborator-modal")
|
|
.getByLabel("Permission level:")
|
|
.selectOption(permissionLevel.toString());
|
|
await page
|
|
.locator("#add-collaborator-modal")
|
|
.getByRole("button", { name: "Add collaborator" })
|
|
.click();
|
|
});
|
|
}
|
|
});
|
|
|
|
test("Dummy user website", async ({ page }) => {
|
|
await authenticate(userDummy, page);
|
|
await page.getByRole("button", { name: "Create website" }).click();
|
|
await page.getByLabel("Type:").selectOption("Blog");
|
|
await page.locator("#create-website-modal").getByLabel("Title:").click();
|
|
await page.locator("#create-website-modal").getByLabel("Title:").fill("Dummy");
|
|
await page
|
|
.locator("#create-website-modal")
|
|
.getByRole("button", { name: "Create website" })
|
|
.click();
|
|
});
|