mirror of
https://github.com/multica-ai/multica.git
synced 2026-06-16 19:29:26 +02:00
41 lines
1.6 KiB
TypeScript
41 lines
1.6 KiB
TypeScript
import { test, expect } from "@playwright/test";
|
|
import { loginAsDefault, waitForPageText } from "./helpers";
|
|
|
|
test.describe("Settings", () => {
|
|
test("updating workspace name reflects in sidebar immediately", async ({
|
|
page,
|
|
}) => {
|
|
const workspaceSlug = await loginAsDefault(page);
|
|
|
|
// Read the current workspace name from the sidebar
|
|
const sidebarName = page.getByRole("button", { name: /E2E Workspace/ }).first();
|
|
const originalName = (await sidebarName.innerText()).split("\n").pop()?.trim() ?? "E2E Workspace";
|
|
|
|
await page.goto(`/${workspaceSlug}/settings?tab=workspace`, { waitUntil: "domcontentloaded" });
|
|
await waitForPageText(page, "General");
|
|
|
|
// Change workspace name
|
|
const nameInput = page
|
|
.locator('input[type="text"]')
|
|
.first();
|
|
await nameInput.clear();
|
|
const newName = "Renamed WS " + Date.now();
|
|
await nameInput.fill(newName);
|
|
|
|
// Save
|
|
await page.locator("button", { hasText: "Save" }).click();
|
|
|
|
await expect(page.getByText("Workspace settings saved").first()).toBeVisible({ timeout: 5000 });
|
|
|
|
// Sidebar should reflect the new name WITHOUT page refresh
|
|
await expect(page.getByRole("button", { name: new RegExp(newName) }).first()).toBeVisible();
|
|
|
|
// Restore original name so other tests aren't affected
|
|
await nameInput.clear();
|
|
await nameInput.fill(originalName.trim());
|
|
await page.locator("button", { hasText: "Save" }).click();
|
|
await expect(page.getByText("Workspace settings saved").first()).toBeVisible({ timeout: 5000 });
|
|
await expect(page.getByRole("button", { name: new RegExp(originalName) }).first()).toBeVisible();
|
|
});
|
|
});
|