197 lines
5.3 KiB
Markdown
197 lines
5.3 KiB
Markdown
# ✅ 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 ✅
|
|
|
|
### T16b: Pulsante Annulla su badge non trovato
|
|
|
|
1. Passa badge inesistente (`0006478281`)
|
|
2. Clicca "Annulla"
|
|
3. **Atteso:** Torna immediatamente a "In attesa partecipante" ✅
|
|
|
|
### T16c: Nuovo badge durante errore "non trovato"
|
|
|
|
1. Passa badge inesistente (`0006478281`)
|
|
2. Mentre è visibile l'errore, passa badge esistente (`ò0008988288_`)
|
|
3. **Atteso:** Errore sparisce, mostra anagrafica Marco Bianchi ✅
|
|
|
|
### 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 | Ruolo | Risultato Atteso |
|
|
|----------------|------------|----------------|-----------|----------------------|
|
|
| `ò0008988288_` | 0008988288 | Marco Bianchi | Convocato | ✅ Ammesso |
|
|
| `ò0007399575_` | 0007399575 | Laura Rossi | Invitato | ✅ Ammessa |
|
|
| `ò0000514162_` | 0000514162 | Giuseppe Verdi | Tecnico | ❌ Non ammesso |
|
|
| `ò0006478281_` | 0006478281 | - | - | ⚠️ Non trovato (404) |
|
|
|
|
**Ruoli possibili:** Convocato, Invitato, Tecnico, Staff
|
|
|
|
**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)
|