evOo-local/apps/web/e2e/sidebar-integrations-removed.spec.ts
Ingo Wagner cce793151e fix(ui): remove Integrations button from sidebar, add E2E tests
- 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
2026-09-22 15:46:05 +00:00

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");
});