Questa guida spiega come testare l'app Pandemic nelle varie modalità.
Cosa funziona:
- ✅ Navigazione tra schermate
- ✅ UI e design system
- ✅ State management (Zustand)
- ✅ Libreria audio locale
- ✅ Import file
- ✅ Impostazioni
Cosa NON funziona:
- ❌ BLE discovery (richiede device fisico)
- ❌ Network LAN (simulatore non ha IP reale)
- ❌ Trasferimenti reali
Come avviare:
# iOS Simulator
npm run ios
# Android Emulator
npm run android
# Oppure usa Expo Go
# 1. Installa Expo Go su simulatore/emulatore
# 2. Scansiona QR code dal terminaleCosa puoi testare:
- Naviga tra tutte le schermate
- Prova a creare una stanza (simulata)
- Importa file audio dalla libreria
- Modifica impostazioni
- Verifica UI responsive
- Device iOS o Android fisico
- Bluetooth attivo
- Stessa rete Wi-Fi locale (per trasferimenti)
Come avviare:
# 1. Prebuild (genera progetto nativo)
npx expo prebuild
# 2. Connetti iPhone via USB
# 3. Apri Xcode
open ios/Pandemic.xcworkspace
# 4. Seleziona il tuo device come target
# 5. Clicca Run (⌘R)
# Oppure via CLI:
npx expo run:ios --devicePermessi richiesti:
- Bluetooth
- Local Network
- Media Library
# 1. Prebuild
npx expo prebuild
# 2. Abilita USB Debugging sul device
# 3. Connetti via USB
# 4. Verifica connessione
adb devices
# 5. Build e installa
npx expo run:android --device
# Oppure usa Expo Go (più semplice per test iniziali)
# 1. Installa Expo Go da Play Store
# 2. Scansiona QR codePermessi richiesti:
- Bluetooth
- Location (per BLE su Android 10+)
- Storage/Media
Obiettivo: Verificare che tutte le schermate funzionino
Passi:
- Avvia app
- Verifica Home screen
- Tap "Crea Stanza" → verifica Host screen
- Tap back → verifica Home
- Tap "Trova Stanze" → verifica Join screen
- Tap "La mia libreria" → verifica Library screen
- Tap "Impostazioni" → verifica Settings screen
Risultato atteso:
- Tutte le schermate si caricano
- Navigazione fluida
- UI renderizzata correttamente
Obiettivo: Testare il flusso di creazione stanza
Passi:
- Vai su Home
- Tap "Crea Stanza"
- Inserisci nome stanza (es: "Test Room")
- Tap "Crea Stanza"
- Verifica che appaia Room screen
Risultato atteso:
- Stanza creata
- Room screen mostra info stanza
- Stato "Host" visibile
Nota: BLE advertising richiede device fisico
Obiettivo: Testare import e gestione file audio
Passi:
- Vai su "La mia libreria"
- Tap icona cartella (importa file)
- Seleziona file audio dal device
- Verifica che file appaia in lista
- Tap lungo su file → elimina
Risultato atteso:
- File importato correttamente
- Metadata estratti
- File visibile in lista
- Eliminazione funziona
Obiettivo: Testare discovery di stanze vicine
Prerequisiti:
- 2 device fisici
- Bluetooth attivo su entrambi
- App installata su entrambi
Passi:
Device A (Host):
- Avvia app
- Tap "Crea Stanza"
- Inserisci nome: "Test Room A"
- Tap "Crea Stanza"
- Mantieni app in foreground
Device B (Guest):
- Avvia app
- Tap "Trova Stanze"
- Attendi 5-10 secondi
- Verifica che "Test Room A" appaia in lista
Risultato atteso:
- Device B vede Device A
- Room name corretto
- Signal strength visibile
- Tap su room → join (simulato)
Troubleshooting:
- Se non vedi la stanza:
- Verifica Bluetooth attivo su entrambi
- Avvicina i device (< 10m)
- Verifica permessi BLE
- Su iOS: app deve essere in foreground
Obiettivo: Testare connessione a stanza
Prerequisiti:
- Device A con stanza attiva
- Device B che ha scoperto la stanza
Passi:
- Device B: Tap su stanza scoperta
- Attendi handshake BLE
- Verifica connessione a Room screen
Risultato atteso:
- Handshake completato
- Device B entra in Room screen
- Stato "Guest" visibile
- Peer count aggiornato su Device A
Obiettivo: Testare condivisione metadati file
Passi:
- Device A (Host): Vai su Room screen
- Tap FAB "+" (in basso a destra)
- Seleziona file da condividere
- Tap "Condividi"
- Verifica file in lista "I tuoi file condivisi"
Device B (Guest):
- Vai su Room screen
- Verifica file in "File disponibili"
- Tap download su un file
Risultato atteso:
- File condiviso visibile
- Metadata corretti
- Download reale del file
Obiettivo: Testare UI trasferimenti
Passi:
- Device B: Avvia download di un file
- Vai su tab "Trasferimenti"
- Verifica progress bar
- Verifica percentuale e speed
- Attendi completamento
Risultato atteso:
- Progress bar animata
- Percentuale aggiornata
- Speed reale visibile
- File salvato in Library al termine
Sintomi:
- Nessuna stanza trovata
- Errori permessi
Soluzioni:
- Verifica Bluetooth attivo
- Controlla permessi app
- Su iOS: app in foreground
- Su Android: verifica Location permission
Sintomi:
- "Solo Bluetooth" invece di "Wi-Fi LAN"
Soluzioni:
- Connetti entrambi i device alla stessa Wi-Fi
- Verifica che Wi-Fi non richieda login
- Disabilita VPN se attiva
Sintomi:
- Crash immediato
- Red screen error
Soluzioni:
# Pulisci cache
npm start -- --clear
# Reinstalla dipendenze
rm -rf node_modules
npm install
# Rebuild nativo
npx expo prebuild --cleanSintomi:
- Errori di compilazione
Soluzioni:
# Verifica errori
npx tsc --noEmit
# Fix automatici (se possibile)
npx tsc --noEmit --fix- Tutte le schermate si caricano
- Navigazione funziona
- Tema scuro applicato
- Componenti renderizzati correttamente
- Responsive su diversi screen size
- Creazione stanza
- Discovery BLE (device fisico)
- Join stanza
- Libreria audio
- Import file
- Condivisione metadati
- UI trasferimenti
- Host disconnette
- Network drop
- App in background (iOS)
- Permessi negati
- File molto grandi
- Avvio rapido
- UI fluida
- Nessun memory leak
- Battery usage ragionevole
- BLE: Funziona solo su device fisico
- Network: Richiede stessa Wi-Fi locale
- iOS: Background molto limitato
- Android: Più permissivo ma comunque limitato
Obiettivo: Testare join via QR code
Passi:
Device A (Host):
- Crea LAN Room
- QR code appare automaticamente sotto la room attiva
Device B (Guest):
- Vai su "Trova Stanze"
- Tap "Scan QR Code"
- Scansiona il QR del Device A
- Verifica connessione alla room
Risultato atteso:
- QR contiene deep link
pandemic://join?... - Scanner riconosce il QR e si connette
- Se hotspot mode, mostra credenziali Wi-Fi
Obiettivo: Verificare disclaimer al primo avvio
Passi:
- Installa l'app (prima volta)
- Apri l'app
- Verifica modal con checkbox
- Prova a premere "Continue" senza checkbox → disabilitato
- Seleziona checkbox → "Continue" si abilita
- Tap "Continue"
- Chiudi e riapri l'app → disclaimer NON riappare
Risultato atteso:
- Modal appare solo al primo avvio
- Testo disclaimer visibile nella home sotto il subtitle
Ultimo aggiornamento: 2026-04-16