feat: Sistema controllo accessi Focolari completo con test E2E
🎯 Funzionalità Implementate: - Frontend React/TypeScript/Tailwind ottimizzato per tablet - Backend mock FastAPI con API complete - Hook RFID multi-pattern (US: ;? / IT: ò_) - Flusso validatore → partecipante → conferma ingresso - Carosello benvenuto multilingua (10 lingue, animazione smooth) - Gestione sessione con invalidazione su server restart - Pagina debug RFID accessibile da /debug 🧪 Test Implementati: - 56 unit test (Vitest) - hook RFID, API, componenti - 14 test E2E (Playwright) - flussi completi con browser reale - Test sicurezza: verifica blocco backend per utenti non ammessi 📋 Comandi Disponibili: - ./dev.sh install → Setup dipendenze - ./dev.sh dev → Sviluppo (hot reload) - ./dev.sh server → Produzione locale - ./dev.sh test → Unit test - ./dev.sh test:e2e → Test E2E headless - ./dev.sh test:e2e:headed → Test E2E con browser visibile - ./dev.sh test:e2e:ui → Playwright UI per debug 📝 Documentazione: - README.md con guida completa - API_SPECIFICATION.md per backend reale - TEST_CHECKLIST.md per test manuali - Piani sviluppo in ai-prompts/ ⏳ Stato: MVP completo, in attesa di feedback e richieste future
This commit is contained in:
@@ -1,33 +1,33 @@
|
||||
{
|
||||
"validator_password": "test123",
|
||||
"validator_password": "focolari",
|
||||
"room": {
|
||||
"room_name": "Sala Test",
|
||||
"meeting_id": "TEST-001"
|
||||
"room_name": "Sala Test E2E",
|
||||
"meeting_id": "TEST-E2E"
|
||||
},
|
||||
"users": [
|
||||
{
|
||||
"badge_code": "111111",
|
||||
"nome": "Test",
|
||||
"cognome": "Ammesso",
|
||||
"url_foto": "https://randomuser.me/api/portraits/lego/1.jpg",
|
||||
"badge_code": "0008988288",
|
||||
"nome": "Marco",
|
||||
"cognome": "Bianchi",
|
||||
"url_foto": "https://randomuser.me/api/portraits/men/1.jpg",
|
||||
"ruolo": "Convocato",
|
||||
"ammesso": true
|
||||
},
|
||||
{
|
||||
"badge_code": "222222",
|
||||
"nome": "Test",
|
||||
"cognome": "NonAmmesso",
|
||||
"url_foto": "https://randomuser.me/api/portraits/lego/2.jpg",
|
||||
"badge_code": "0007399575",
|
||||
"nome": "Laura",
|
||||
"cognome": "Rossi",
|
||||
"url_foto": "https://randomuser.me/api/portraits/women/2.jpg",
|
||||
"ruolo": "Invitato",
|
||||
"ammesso": false
|
||||
"ammesso": true
|
||||
},
|
||||
{
|
||||
"badge_code": "333333",
|
||||
"nome": "Test",
|
||||
"cognome": "Tecnico",
|
||||
"url_foto": "https://randomuser.me/api/portraits/lego/3.jpg",
|
||||
"badge_code": "0000514162",
|
||||
"nome": "Giuseppe",
|
||||
"cognome": "Verdi",
|
||||
"url_foto": "https://randomuser.me/api/portraits/men/3.jpg",
|
||||
"ruolo": "Tecnico",
|
||||
"ammesso": true
|
||||
"ammesso": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user