test(state): cover InventoryCubit and VarietyDetailCubit; refresh block1 status doc
This commit is contained in:
parent
a96d82add9
commit
cf5d302cc1
4 changed files with 292 additions and 47 deletions
|
|
@ -30,31 +30,30 @@ JSON por locale, compatible Weblate). Ver [`../../apps/app_seeds`](../../apps/ap
|
|||
- **Catálogo de especies**: 14 hortícolas ibéricas (familia + nombres ES/EN),
|
||||
sembrado idempotente al arrancar, búsqueda + autocompletado.
|
||||
- **Germinación**: pruebas por lote (germinadas/muestra → tasa derivada), badge
|
||||
reactivo.
|
||||
- **Tests**: 37 verdes, 0 saltados. `analyze` + `format` limpios.
|
||||
reactivo. Avisos de viabilidad por especie (años de viabilidad + año de cosecha).
|
||||
- **Schema v8**: procedencia, calendario de cultivo multi-mes (bitmask), escala de
|
||||
abundancia, "necesita reproducción", chequeos de estado, formato de conservación.
|
||||
- **Digitalización masiva**: import CSV aditivo, import/export JSON con
|
||||
reconciliación LWW, borradores foto-first con OCR en dispositivo (es/en),
|
||||
alta rápida "guardar y añadir otra".
|
||||
- **Edición completa**: editar/borrar lotes (`updateLot`/`softDeleteLot`),
|
||||
añadir/quitar nombres vernáculos (OR-Set con tombstones), editar campos,
|
||||
fotos (portada, visor, borrado), enlaces externos.
|
||||
- **Tests**: ~190 verdes, 0 saltados, incl. cubits de estado (`InventoryCubit`,
|
||||
`VarietyDetailCubit`, `QuickAddCubit`). `analyze` + `format` limpios.
|
||||
|
||||
## Pendiente en el Bloque 1 (pulido) ⏳
|
||||
|
||||
- **Editar nombres vernáculos** ("también conocida como": hoy solo lectura;
|
||||
falta añadir/quitar — colección OR-Set).
|
||||
- **Editar/borrar lotes** (se pueden añadir pero no modificar/eliminar). Falta
|
||||
`updateLot`/`softDeleteLot` en el repo (hoy solo `addLot` en
|
||||
[`variety_repository.dart`](../../apps/app_seeds/lib/data/variety_repository.dart))
|
||||
y la afordancia en las tiles de lote de
|
||||
[`variety_detail_screen.dart`](../../apps/app_seeds/lib/ui/variety_detail_screen.dart).
|
||||
El soft-delete ya tiene infraestructura (`isDeleted`/tombstone vía `SyncColumns`).
|
||||
- **Editar cantidad del lote**: la UI de alta solo ofrece 6 `QuantityKind` como
|
||||
chips; falta campo para cantidad numérica (`precise`) y etiqueta libre (`label`),
|
||||
que el modelo (`Quantity`) ya soporta.
|
||||
- (Opcional) QR de recuperación de la semilla raíz; almacenamiento cifrado de
|
||||
fotos fuera de la BD (hoy van como BLOB cifrado dentro de la BD, que cumple la
|
||||
regla).
|
||||
|
||||
### Feedback de prueba (vjrj, 2026-07-07)
|
||||
|
||||
Tras probar la app: no se pueden editar unidades/cantidad ni editar/borrar lotes
|
||||
(solo añadir) — **esperado**, cubierto por los pendientes de arriba. Echa en falta
|
||||
la iconografía de los mockups (ver nota siguiente).
|
||||
- **QR de recuperación de la semilla raíz** + fichero de copia cifrado único y
|
||||
restauración (ver [`backup-and-recovery.md`](backup-and-recovery.md)) — fase
|
||||
planificada.
|
||||
- **Comercio local sin red**: UI para `offer_status` (regalo/trueque/venta),
|
||||
vista "lo que comparto", catálogo imprimible — fase planificada.
|
||||
- **Cantidad precisa (gramos/nº) en la UI**: diferida a propósito. "Cuánto tengo"
|
||||
lo responde la **escala de abundancia** (v8); la cantidad numérica se retomará
|
||||
cuando las Offers reales la pidan (decisión 2026-07-09).
|
||||
- (Opcional) almacenamiento cifrado de fotos fuera de la BD (hoy BLOB cifrado
|
||||
dentro de la BD, que cumple la regla).
|
||||
|
||||
## Iconografía de los mockups (diseño futuro) 🎨
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue