import { render } from '@testing-library/svelte'; import { describe, test, expect } from 'vitest'; import { load } from '../src/routes/(angemeldet)/+layout.server'; import Homepage from '../src/routes/(angemeldet)/+page.svelte'; describe('Homepage-View', () => { test('Zeige Inhalt an wenn der Nutzer angemeldet ist', () => { const fakeUser = { id: 'admin' }; const { getByText } = render(Homepage, { props: { data: { user: fakeUser } } }); expect(getByText('Benutzerverwaltung')).toBeInTheDocument(); }); // [INFO] Benutzer (ohne Login) kann nicht auf diese Seite zugreifen // entsprechender Test ist unten `Layout.Server Guard for Homepage-View` }); describe('Layout.Server Guard fuer Homepage-View', () => { test('Weiterleitung an /anmeldung wenn der Nutzer nicht authentifiziert ist', async () => { const event = { url: new URL('http://localhost'), locals: { user: null } }; try { await load(event); throw new Error('Expected redirect not thrown'); } catch (err) { expect(err.status).toBe(303); expect(err.location).toBe('/anmeldung'); } }); });