From 7a6e7f16c567fff28cf05f7610b1356998fcf353 Mon Sep 17 00:00:00 2001 From: thiloho <123883702+thiloho@users.noreply.github.com> Date: Sun, 1 Sep 2024 13:37:28 +0200 Subject: [PATCH] Test website publication and remove collab account --- web-app/playwright.config.ts | 11 ++++++++-- .../[websiteId]/publish/+page.server.ts | 8 ++++++- web-app/tests/website.spec.ts | 21 ++++++++++++++++++- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/web-app/playwright.config.ts b/web-app/playwright.config.ts index 1ff761a..f7cce26 100644 --- a/web-app/playwright.config.ts +++ b/web-app/playwright.config.ts @@ -1,4 +1,4 @@ -import { type PlaywrightTestConfig } from "@playwright/test"; +import { type PlaywrightTestConfig, devices } from "@playwright/test"; const config: PlaywrightTestConfig = { webServer: { @@ -9,7 +9,14 @@ const config: PlaywrightTestConfig = { baseURL: "http://localhost:4173" }, testDir: "tests", - testMatch: /(.+\.)?(test|spec)\.ts/ + testMatch: /(.+\.)?(test|spec)\.ts/, + // Firefox and Webkit are not packaged yet, see https://github.com/NixOS/nixpkgs/issues/288826 + projects: [ + { + name: "Chromium", + use: { ...devices["Desktop Chrome"] } + } + ] }; export default config; diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts index 7a0a232..6a3ab03 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts @@ -28,7 +28,13 @@ export const load: PageServerLoad = async ({ params, fetch, cookies, parent }) = generateStaticFiles(websiteOverview); - const websitePreviewUrl = `${dev ? "http://localhost:18000" : process.env.ORIGIN}/previews/${websiteOverview.id}/index.html`; + const websitePreviewUrl = `${ + dev + ? "http://localhost:18000" + : process.env.ORIGIN + ? process.env.ORIGIN + : "http://localhost:18000" + }/previews/${websiteOverview.id}/index.html`; return { websiteOverview, diff --git a/web-app/tests/website.spec.ts b/web-app/tests/website.spec.ts index a117ab7..ceb1ecb 100644 --- a/web-app/tests/website.spec.ts +++ b/web-app/tests/website.spec.ts @@ -201,6 +201,14 @@ test.describe("Update website", () => { }); }); +test("Publish website", async ({ authenticatedPage: page }) => { + await page.getByRole("link", { name: "Blog" }).click(); + await page.getByRole("link", { name: "Publish" }).click(); + await page.getByRole("button", { name: "Publish" }).click(); + await expect(page.getByText("Successfully published website")).toBeVisible(); + await expect(page.getByText("Your website is published at")).toBeVisible(); +}); + test("Delete websites", async ({ authenticatedPage: page }) => { await page.getByRole("button", { name: "Delete" }).nth(1).click(); await page.getByRole("button", { name: "Delete website" }).click(); @@ -222,5 +230,16 @@ test("Delete account", async ({ authenticatedPage: page }) => { .locator("#delete-account-modal") .getByRole("button", { name: "Delete account" }) .click(); - await expect(page.getByRole("heading", { name: "Login" })).toBeVisible(); + + await page.getByLabel("Username:").fill(collabUsername); + await page.getByLabel("Password:").fill(password); + await page.getByRole("button", { name: "Submit" }).click(); + await page.getByRole("link", { name: "Account" }).click(); + await page.getByRole("button", { name: "Delete account" }).click(); + await page.getByLabel("Password:").click(); + await page.getByLabel("Password:").fill(password); + await page + .locator("#delete-account-modal") + .getByRole("button", { name: "Delete account" }) + .click(); });