Erste Abarbeitung des Repository-Audits (siehe TODO.md). Sicherheit: - Rate-Limiting für alle vier Auth-Endpunkte. Sie waren unbegrenzt aufrufbar, also beliebig viele Mails über den eigenen SMTP-Zugang und beliebig viele Rateversuche auf Verifizierungscodes. - Passwort-Reset-Token nur noch als SHA-256-Hash in der Datenbank. Bisher Klartext: Lesezugriff auf die DB genuegte zur Kontouebernahme. - Tote Mock-Login-Route entfernt. Sie verglich gegen ein hartcodiertes Fake-Passwort und war ueber die Middleware-Ausnahme fuer /api/auth/* ohne Anmeldung erreichbar. - Passwort-Reset auf bcrypt-Kosten 12, wie beim Signup. Reparaturen: - npm test rief jest auf, obwohl es weder Jest-Config noch Jest-Tests gibt. Zeigt jetzt auf Playwright; jest/ts-jest/@types/jest entfernt. - Falscher sonar.projectKey im Workflow. Verifiziert per tsc gegen die geaenderten Bereiche: keine neuen Typfehler. v1.117.0 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
22 lines
815 B
TypeScript
22 lines
815 B
TypeScript
import { test, expect } from '@playwright/test';
|
|
|
|
// Test to verify the currently running application at port 9323
|
|
test('My Weekly To Do List should be accessible at port 9323', async ({ page }) => {
|
|
// Navigate to the running application
|
|
await page.goto('http://localhost:9323');
|
|
|
|
// Check that the main elements are present
|
|
await expect(page).toHaveTitle(/My Weekly To Do List/);
|
|
|
|
// Check for main UI elements
|
|
await expect(page.getByText('My Weekly To Do List')).toBeVisible();
|
|
await expect(page.getByText('Weekly View')).toBeVisible();
|
|
});
|
|
|
|
test('Should be able to access tasks page from port 9323', async ({ page }) => {
|
|
await page.goto('http://localhost:9323');
|
|
|
|
// Try to navigate to tasks page
|
|
const tasksLink = page.getByText('Tasks');
|
|
await expect(tasksLink).toBeVisible();
|
|
}); |