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
+3 -1
View File
@@ -10,7 +10,8 @@
"start": "node ./dist/server/entry.mjs",
"test": "vitest run",
"create-user": "node scripts/create-user.mjs",
"sync-campus": "node scripts/sync-campus.mjs"
"sync-campus": "node scripts/sync-campus.mjs",
"seed-demo": "tsx scripts/seed-demo.ts"
},
"dependencies": {
"@astrojs/node": "11.0.1",
@@ -31,6 +32,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"
}