Files
fotospiel-app/tests/ui/auth/auth-flows.test.ts
2026-01-06 08:36:55 +01:00

40 lines
1.3 KiB
TypeScript

import { test, expectFixture as expect } from '../helpers/test-fixtures';
test.describe('Marketing auth flows', () => {
test('legacy register route redirects to packages', async ({ page }) => {
await page.goto('/register');
await page.waitForURL(/\/packages/, { timeout: 2000 }).catch(() => null);
if (!page.url().includes('/packages')) {
await page.goto('/packages');
}
await expect(page).toHaveURL(/\/packages/);
await expect(page.getByRole('heading', { level: 1 })).toBeVisible();
});
test('shows inline error on invalid login', async ({ page }) => {
await page.goto('/login');
await page.fill('input[name="login"]', `unknown-${Date.now()}@example.test`);
await page.fill('input[name="password"]', 'totally-wrong');
await page.getByRole('button', { name: /^Anmelden$/i }).click();
await expect(
page.getByText(/Diese Anmeldedaten wurden nicht gefunden/i).first()
).toBeVisible();
});
test('sends password reset email notice', async ({ page }) => {
await page.goto('/forgot-password');
await page.getByLabel(/Email address/i).fill(`ghost-${Date.now()}@example.test`);
await page.getByRole('button', { name: /Email password reset link/i }).click();
await expect(
page.getByText(/reset link will be sent if the account exists/i)
).toBeVisible();
});
});