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/login') }) }; }); vi.mock('$app/forms', () => ({ enhance: () => ({ destroy: () => {} }) })); describe('login page', () => { it('renders the login form', () => { render(Page); expect(screen.getByText('Willkommen zurück')).toBeInTheDocument(); }); it('renders the brand panel', () => { render(Page); expect(screen.getByText('Mealprep')).toBeInTheDocument(); }); it('sets the page title', () => { render(Page); expect(document.title).toBe('Anmelden — Mealprep'); }); it('does not render any navigation chrome', () => { render(Page); expect(screen.queryByRole('navigation')).not.toBeInTheDocument(); expect(screen.queryByText('Planer')).not.toBeInTheDocument(); expect(screen.queryByText('Rezepte')).not.toBeInTheDocument(); }); it('renders a link to the signup page', () => { render(Page); const link = screen.getByRole('link', { name: /registrieren/i }); expect(link).toHaveAttribute('href', '/signup'); }); });