Frontend: design system, navigation, auth guard, signup screen #33

Merged
marcel merged 25 commits from feat/issue-16-design-system into master 2026-04-02 19:00:19 +02:00
Showing only changes of commit b3607ca47a - Show all commits

View File

@@ -175,6 +175,25 @@ describe('SignupForm', () => {
expect(screen.getByText('Mindestens 8 Zeichen')).toBeInTheDocument();
});
it.each([
{ length: 7, shouldFail: true },
{ length: 8, shouldFail: false }
])('password with $length chars $shouldFail ? fails : passes validation', async ({ length, shouldFail }) => {
const user = userEvent.setup();
render(SignupForm);
await user.type(screen.getByLabelText('Dein Name'), 'Sarah');
await user.type(screen.getByLabelText('E-Mail'), 'test@example.com');
await user.type(screen.getByLabelText('Passwort'), 'a'.repeat(length));
await user.click(screen.getByRole('button', { name: /konto erstellen/i }));
if (shouldFail) {
expect(screen.getByText('Mindestens 8 Zeichen')).toBeInTheDocument();
} else {
expect(screen.queryByText('Mindestens 8 Zeichen')).not.toBeInTheDocument();
}
});
it('renders placeholders on inputs', () => {
render(SignupForm);
expect(screen.getByPlaceholderText('z.B. Sarah')).toBeInTheDocument();