Files
Focolari-Voting-System/TEST_CHECKLIST.md
alfy b467d4753d fix: correzioni critiche e checklist test manuali
CORREZIONI:
- Badge confrontato ESATTAMENTE come stringa (rimosso .lstrip("0"))
- Success modal si chiude quando arriva nuovo badge (fix dipendenze useCallback)
- Polling ogni 30s per invalidare sessione se server riparte
- Area carosello allargata per testi lunghi (es. russo)

DOCUMENTAZIONE:
- API_SPECIFICATION.md aggiornata: badge come stringa esatta
- Creata TEST_CHECKLIST.md con 22 test manuali
- Aggiornati piani backend e frontend

Badge sono STRINGHE, non numeri:
- "0008988288" != "8988288" (zeri iniziali significativi)
2026-01-17 23:32:33 +01:00

4.8 KiB

Checklist Test Manuali - Focolari Voting System

Pre-requisiti

  • Backend avviato con ./dev.sh server
  • Browser aperto su http://localhost:8000
  • Lettore RFID collegato (o usa tastiera per simulare)

🔐 Test Login Validatore

T1: Login con password corretta

  1. Passa un badge qualsiasi (es. ò0008988288_)
  2. Inserisci password: focolari
  3. Atteso: Accesso al varco attivo

T2: Login con password errata

  1. Passa un badge qualsiasi
  2. Inserisci password sbagliata
  3. Atteso: Messaggio errore rosso, rimane su schermata password

T3: Annulla login

  1. Passa un badge
  2. Clicca "Annulla"
  3. Atteso: Torna a "Passa badge validatore"

👤 Test Anagrafica Utenti

T4: Badge ammesso trovato

  1. Login come validatore
  2. Passa badge ò0008988288_ (Marco Bianchi)
  3. Atteso: Card verde con "Utente ammesso all'ingresso"

T5: Badge NON ammesso trovato

  1. Passa badge ò0000514162_ (Giuseppe Verdi)
  2. Atteso: Card rossa lampeggiante "ACCESSO NON CONSENTITO" ⚠️

T6: Badge non esistente nel DB

  1. Passa badge ò0006478281_
  2. Atteso: Schermata errore con badge in grassetto, countdown 30s

T7: Stesso badge passato due volte

  1. Visualizza un utente (es. Marco Bianchi)
  2. Passa lo STESSO badge di nuovo
  3. Atteso: Nessun ricaricamento, utente rimane visualizzato

T8: Badge diverso sostituisce utente corrente

  1. Visualizza Marco Bianchi (0008988288)
  2. Passa Laura Rossi (ò0007399575_)
  3. Atteso: Card cambia mostrando Laura Rossi

✓ Test Conferma Ingresso

T9: Conferma utente ammesso

  1. Visualizza Marco Bianchi (ammesso)
  2. Passa badge VALIDATORE (quello usato per login)
  3. Atteso: Modal verde con carosello "Benvenuto/Welcome/..." per 8 secondi

T10: Badge validatore su utente NON ammesso

  1. Visualizza Giuseppe Verdi (non ammesso)
  2. Passa badge validatore
  3. Atteso: Banner arancione "Badge validatore rilevato, se cambiato fare logout" ⚠️

T11: Badge validatore senza utente visualizzato

  1. Torna alla schermata "In attesa partecipante"
  2. Passa badge validatore
  3. Atteso: Banner arancione come sopra ⚠️

🎠 Test Success Modal

T12: Carosello scorre tutte le lingue

  1. Conferma ingresso di un utente ammesso
  2. Osserva il carosello
  3. Atteso: Scorre IT→EN→FR→DE→ES→PT→ZH→JA→AR→RU con animazione smooth

T13: Badge durante carosello chiude modal

  1. Durante il carosello, passa un NUOVO badge
  2. Atteso: Modal si chiude immediatamente, carica nuovo utente

T14: Carosello non troppo stretto

  1. Osserva le scritte durante il carosello
  2. Atteso: "Добро пожаловать!" (russo) deve essere visibile per intero

⏱️ Test Timeout e Sessione

T15: Timeout utente (60s)

  1. Visualizza un utente
  2. Aspetta 60 secondi
  3. Atteso: Torna automaticamente a "In attesa partecipante"

T16: Timeout badge non trovato (30s)

  1. Passa badge inesistente (0006478281)
  2. Aspetta 30 secondi
  3. Atteso: Torna a "In attesa partecipante", barra countdown visiva

T17: Logout manuale

  1. Clicca "Esci" nell'header
  2. Atteso: Torna a "Passa badge validatore"

T18: Sessione invalidata al riavvio server

  1. Login come validatore, vai al varco attivo
  2. Ferma il server (Ctrl+C)
  3. Riavvia il server (./dev.sh server)
  4. Aspetta ~30 secondi (polling)
  5. Atteso: Torna automaticamente a "Passa badge validatore"

🔧 Test Debug

T19: Pagina debug accessibile

  1. Vai a http://localhost:8000/debug
  2. Atteso: Pagina con log tasti, stato scanner, buffer corrente

T20: Log tasti funzionante

  1. Nella pagina debug, premi tasti sulla tastiera
  2. Atteso: Tasti appaiono nella lista eventi

📱 Test UI/UX

T21: NumLock banner su desktop

  1. Su browser desktop, verifica schermata "In attesa partecipante"
  2. Atteso: Banner giallo con stato NumLock visibile

T22: Occhio toggle password

  1. Nella schermata password validatore
  2. Clicca l'icona occhio
  3. Atteso: Password visibile/nascosta

Badge di Test

Formato RFID Badge Nome Risultato Atteso
ò0008988288_ 0008988288 Marco Bianchi Ammesso
ò0007399575_ 0007399575 Laura Rossi Ammessa
ò0000514162_ 0000514162 Giuseppe Verdi Non ammesso
ò0006478281_ 0006478281 - ⚠️ Non trovato (404)

Password validatore: focolari


Note

  • I badge sono stringhe, gli zeri iniziali sono significativi
  • Il pattern RFID italiano usa ò come start e _ come end (+ Enter)
  • Il pattern US usa ; come start e ? come end (+ Enter)