davide
9384bd6117
test: colma i buchi negli unit test esistenti
...
- 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 >
2026-07-12 20:08:32 +02:00
davide
65214ac34e
test: espandi copertura a 110 test e organizza in gruppi
...
- Aggiunto converter_provider_test.dart (nuovo): stato iniziale, select,
setGrams, result, swapDirection, reset, search
- Aggiunto qr_test.dart (nuovo): buildQrPayload e parseMealPlanFromQr
con round-trip e casi di errore
- meal_planner_provider_test: group(), importPlan(), fallback JSON corrotto
- shopping_list_provider_test: group(), addAll con aggregazione quantity,
fallback JSON corrotto
- shopping_item_test: campi quantity (default, copyWith, JSON round-trip)
- shopping_item_tile_test: group(), visualizzazione (xN)
- conversion_entry_test: caso limite yieldFactor=0
- meal_card_test: group()
- Rimosso widget_test.dart (boilerplate obsoleto)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-17 23:27:19 +02:00
davide
9a865a1479
test: aggiungi suite di test Flutter
...
Struttura specchia lib/features/:
- test/features/meal_planner/ — unit (DayPlan, MealPlan, provider) + widget (MealCard)
- test/features/converter/ — unit (ConversionEntry, formule rawToCooked/cookedToRaw)
- test/features/shopping_list/ — unit (ShoppingItem, provider) + widget (ShoppingItemTile)
- test/helpers/pump_app.dart — estensione PumpApp condivisa tra widget test
- integration_test/app_test.dart — e2e navigazione, shopping list, convertitore, meal planner
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-16 17:41:38 +02:00