Longevity: il registro si semina da solo, e un cliente demo con un referto vero

seedRegistro/seedPesi esistevano dal 22/08 ed erano chiamati SOLO dai test:
su un database nuovo il registro restava vuoto, campiDelQuestionario non
trovava niente e la pagina del questionario si apriva SENZA DOMANDE. Non era
un problema della demo, era il primo avvio in produzione - lo stesso difetto
gia' visto in questo ramo (una funzione corretta che nessuno chiama), con la
stessa correzione: agganciarla dove non si puo' dimenticare, cioe' alla
creazione del database. Entrambe le semine sono INSERT OR REPLACE, quindi
rilanciarle e' a vuoto, e i punteggi gia' emessi non cambiano (sono congelati
in , il referto legge quelli). Quattro test lo presidiano.

scripts/seed-demo.ts crea l'utente , il fascicolo (passando da
creaCliente, l'unico varco fra identity e longevity) e compila il questionario
attraverso salvaDalForm - lo stesso percorso della pagina vera, consenso
compreso - cosi' i punteggi vengono calcolati e congelati come in produzione.
Si ferma se l'utente esiste gia': rifare la demo su dati esistenti vuol dire
duplicare o cancellare un fascicolo, e non e' una decisione da script.

Verificato girando l'app: Energy 74,5/100 con copertura 50%, Performance e
Recovery dichiarati insufficienti (5% e 35%) con l'elenco di cosa manca,
Fitness Age assente. E' la regola di Nicola all'opera - annullare invece di
stimare - ed e' lo stato vero del prodotto: nel registro ci sono solo le 20
domande del questionario, i test fisici arrivano col gestionale trainer.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EndnceRA5WnA6rvA5iV9WL
This commit is contained in:
AdrianoDev
2026-09-03 12:27:24 +00:00
parent 6301f521fd
commit 3d43de5ab9
5 changed files with 218 additions and 2 deletions
+20
View File
@@ -26,6 +26,7 @@
"@types/bcryptjs": "^2.4.6",
"@types/better-sqlite3": "^7.6.13",
"marked": "^18.0.11",
"tsx": "^4.23.13",
"typescript": "^6.0.3",
"vitest": "^4.1.9"
}
@@ -6245,6 +6246,25 @@
"license": "0BSD",
"optional": true
},
"node_modules/tsx": {
"version": "4.23.13",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.13.tgz",
"integrity": "sha512-BL5MGkRln6aDYhb0xbQlEAGw743BaZYWdbWtdJOBriYJboKgUUYCadFp2/FpBBZquBC/ezNBn7wMMPx7FDZUDw==",
"devOptional": true,
"license": "MIT",
"dependencies": {
"esbuild": "~0.28.0"
},
"bin": {
"tsx": "dist/cli.mjs"
},
"engines": {
"node": ">=18.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.3"
}
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",