- Test 6 (middleware redirect) now passes after fix - 12/12 tests passing - Phase 1 UAT complete Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
83 lines
2.8 KiB
Markdown
83 lines
2.8 KiB
Markdown
---
|
|
status: complete
|
|
phase: 01-foundation-auth
|
|
source: 01-01-SUMMARY.md, 01-02-SUMMARY.md, 01-03-SUMMARY.md, 01-04-SUMMARY.md, 01-05-SUMMARY.md, 01-06-SUMMARY.md
|
|
started: 2026-01-31T20:15:00Z
|
|
updated: 2026-01-31T20:30:00Z
|
|
---
|
|
|
|
## Current Test
|
|
|
|
[testing complete]
|
|
|
|
## Tests
|
|
|
|
### 1. Homepage carica correttamente
|
|
expected: Visitando https://lab.mlhub.it/leopost/ si vede la landing page con titolo "Leopost", descrizione del prodotto, e pulsanti "Inizia gratis" e "Accedi"
|
|
result: pass
|
|
|
|
### 2. Pagina di registrazione
|
|
expected: Cliccando "Inizia gratis" o visitando /register/ si vede il form di registrazione con pulsante "Accedi con Google" in alto, divisore "oppure", e form email/password sotto
|
|
result: pass
|
|
|
|
### 3. Pagina di login
|
|
expected: Visitando /login/ si vede il form di login con pulsante "Accedi con Google" in alto, divisore "oppure", e form email/password sotto
|
|
result: pass
|
|
|
|
### 4. Registrazione con email/password
|
|
expected: Inserendo email e password validi nel form di registrazione e cliccando "Registrati", l'utente viene registrato e vede messaggio di conferma email
|
|
result: pass
|
|
|
|
### 5. Login con Google OAuth
|
|
expected: Cliccando "Accedi con Google", l'utente viene reindirizzato a Google, seleziona account, e torna autenticato alla dashboard
|
|
result: pass
|
|
|
|
### 6. Protezione route - utente non autenticato
|
|
expected: Visitando /dashboard/ senza essere loggati, si viene reindirizzati a /login/
|
|
result: pass
|
|
note: "Risolto - middleware aggiornato per usare request.nextUrl.clone() che preserva il basePath"
|
|
|
|
### 7. Dashboard dopo login
|
|
expected: Dopo il login, l'utente vede la dashboard con il suo piano attuale, checklist onboarding, e navigazione con nome utente
|
|
result: pass
|
|
|
|
### 8. Persistenza sessione
|
|
expected: Dopo il login, ricaricando la pagina (F5), l'utente rimane autenticato e vede ancora la dashboard
|
|
result: pass
|
|
|
|
### 9. Logout
|
|
expected: Cliccando sul menu utente e poi "Esci", l'utente viene disconnesso e reindirizzato alla pagina di login
|
|
result: pass
|
|
|
|
### 10. Pagina subscription
|
|
expected: Visitando /subscription/ da autenticati, si vedono i 3 piani (Gratuito, Creator, Pro) con prezzi, funzionalita, e pulsante per cambiare piano
|
|
result: pass
|
|
|
|
### 11. Cambio piano
|
|
expected: Cliccando "Passa a questo piano" su un piano diverso dal corrente, il piano dell'utente viene aggiornato immediatamente (visibile nel badge piano)
|
|
result: pass
|
|
|
|
### 12. Testi in italiano
|
|
expected: Tutti i testi dell'interfaccia sono in italiano (pulsanti, messaggi, descrizioni piani)
|
|
result: pass
|
|
|
|
## Summary
|
|
|
|
total: 12
|
|
passed: 12
|
|
issues: 0
|
|
pending: 0
|
|
skipped: 0
|
|
|
|
## Gaps
|
|
|
|
[all issues resolved]
|
|
|
|
### Resolved Issues
|
|
|
|
- truth: "Visitando /dashboard/ senza essere loggati, si viene reindirizzati a /login/"
|
|
status: resolved
|
|
reason: "Middleware usava new URL() che non preserva basePath. Corretto con request.nextUrl.clone()"
|
|
fix_commit: 44fcd37
|
|
test: 6
|