From bfa8f20fe3b70a9c97a29b93d8d184961f1fa95e Mon Sep 17 00:00:00 2001 From: Marcel Raddatz Date: Thu, 2 Apr 2026 14:48:23 +0200 Subject: [PATCH] test(auth): add no-nav-chrome regression test for signup page Verifies signup page renders form and brand panel but no navigation elements (tabs, sidebar, links to app routes). Co-Authored-By: Claude Opus 4.6 --- .../src/routes/(public)/signup/page.test.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 frontend/src/routes/(public)/signup/page.test.ts diff --git a/frontend/src/routes/(public)/signup/page.test.ts b/frontend/src/routes/(public)/signup/page.test.ts new file mode 100644 index 0000000..9efe985 --- /dev/null +++ b/frontend/src/routes/(public)/signup/page.test.ts @@ -0,0 +1,33 @@ +import { describe, it, expect, vi } from 'vitest'; +import { render, screen } from '@testing-library/svelte'; +import Page from './+page.svelte'; + +vi.mock('$app/stores', async () => { + const { readable } = await import('svelte/store'); + return { + page: readable({ url: new URL('http://localhost/signup') }) + }; +}); + +describe('signup page', () => { + it('renders the signup form', () => { + render(Page); + expect(screen.getByText('Konto erstellen')).toBeInTheDocument(); + }); + + it('renders the brand panel', () => { + render(Page); + expect(screen.getByText('Mealprep')).toBeInTheDocument(); + }); + + it('does not render any navigation chrome', () => { + render(Page); + // No nav element should exist + expect(screen.queryByRole('navigation')).not.toBeInTheDocument(); + // No app shell nav links + expect(screen.queryByText('Planer')).not.toBeInTheDocument(); + expect(screen.queryByText('Rezepte')).not.toBeInTheDocument(); + expect(screen.queryByText('Einkauf')).not.toBeInTheDocument(); + expect(screen.queryByText('Einstellungen')).not.toBeInTheDocument(); + }); +});