- update_service_test: il fake HttpClientResponse tipizza lo stream
come Stream<List<int>> (utf8.encode ritorna Uint8List)
- guide/info_bottom_sheet test: i titoli delle _DocCard sono resi
con toUpperCase(), i finder ora cercano il testo maiuscolo
- converter_page_test e app_test: loadDb()/load() dei provider
spostati nel setUp — chiamarli nel body di testWidgets (zona
FakeAsync) bloccava la suite fino al timeout di 10 minuti
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Prima era esercitato solo dall'integration test su emulatore:
- converter_page: ricerca, stati vuoti, selezione, calcolo, swap, reset
- shopping_list_page: aggiunta, contatore, sezione completati, dialog svuota
- meal_planner_page: 7 card, giorno espanso, genera lista, dialog svuota,
stato del pulsante Condividi
- qr_share_sheet: QR per piano valido, errore oltre il limite, chiusura
- app (BitePlanApp): navigazione fra i tab, bottom sheet informazioni
- guide_page e info_bottom_sheet: contenuti e navigazione alla guida
- empty_state: icona, titolo, sottotitolo opzionale
- coverage_helper: importa tutta lib/ così lcov include anche i file
non toccati da alcun test
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- UpdateService.checkUpdate() coperto via HttpOverrides con fake
HttpClient: versione più recente/uguale/più vecchia, status != 200,
body malformato, errore di rete
- ConverterProvider.loadDb() con l'asset reale + validazione che ogni
voce di conversions.json abbia yield positivo
- MealPlannerProvider.removeItem() sui rami colazione e cena
(prima era coperto solo pranzo)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>