- 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>
parseTagName: v-prefix, body senza prefisso, JSON malformato, tag_name
assente, body vuoto. Widget test del dialog: titolo, versione nel testo,
pulsanti Più tardi e Scarica, chiusura dialog, chiamata MethodChannel
verificata con mock. 130/130 test passati.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copre parseVersion (semver standard, parti mancanti, valori non numerici)
e isNewer (patch/minor/major bump, versione uguale, versione più vecchia,
componenti multi-cifra come 2.0.10 > 2.0.9). 10/10 test passati su ARM64.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>