- Remove 'Integrationen' button from sidebar (Shell.tsx) - Fix auth heading text: 'Create your Rakazo' → 'Create your EvOo' - Fix completeOnboarding helper: handle setup progress, dismiss overlays - Fix vite proxy CORS: use proxyRes handler instead of headers option - Add local provider fallback in modelSetup - Add 4 new E2E tests (all passing): - sidebar-integrations-removed: Integrations button not in sidebar - sidebar-nav: expected nav items present, no Integrations - message-send: composer interactive, message appears - onboarding-complete: full onboarding flow works - Add playwright config: PLAYWRIGHT_NO_SERVER support
45 lines
1.6 KiB
TypeScript
45 lines
1.6 KiB
TypeScript
/**
|
|
* Sidebar: "Integrationen" button must NOT appear.
|
|
*
|
|
* The Integrations panel was removed from the sidebar. This test verifies
|
|
* that neither the Integrations button nor any integration-related content
|
|
* renders in the sidebar.
|
|
*/
|
|
import { expect, test } from "@playwright/test";
|
|
import { captureScreenshot, completeOnboarding, signup } from "./helpers";
|
|
|
|
test.describe.configure({ mode: "serial" });
|
|
|
|
test("sidebar must not show an Integrations button or integration entries", async ({ page }) => {
|
|
const testInfo = test.info();
|
|
const stamp = Date.now();
|
|
await signup(page, `sidebar-${stamp}@rakazo.test`, "password12", "Sidebar");
|
|
await completeOnboarding(page);
|
|
await expect(page.getByText("Chief").first()).toBeVisible();
|
|
|
|
await captureScreenshot(page, testInfo, "sidebar-onboarding-done");
|
|
|
|
// --- Sidebar assertions ---
|
|
|
|
// 1. No "Integrationen" / "Integrations" button anywhere in the sidebar
|
|
const sidebar = page.locator("aside").first();
|
|
const integrationsBtn = sidebar.getByRole("button", { name: /Integration(en)?/i });
|
|
await expect(integrationsBtn).toHaveCount(0, {
|
|
timeout: 5000,
|
|
});
|
|
|
|
// 2. No integration-related text content in sidebar
|
|
const integrationText = sidebar.getByText(/Integration(en)?/i);
|
|
await expect(integrationText).toHaveCount(0, {
|
|
timeout: 5000,
|
|
});
|
|
|
|
// 3. LayoutGrid icon (the Integrations button icon) must not be in sidebar
|
|
const layoutGrid = sidebar.locator('[aria-label*="Integration"]');
|
|
await expect(layoutGrid).toHaveCount(0, {
|
|
timeout: 5000,
|
|
});
|
|
|
|
await captureScreenshot(page, testInfo, "sidebar-no-integrations");
|
|
});
|