longevity: misureValideAlla, spareggio sulla riga e nota sulla conferma dei fuori range
Refs #1 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -198,6 +198,20 @@ describe('un check-up e un questionario sono sessioni separate, ma un cliente e
|
||||
expect(sd).not.toHaveProperty('questionario_lifestyle');
|
||||
});
|
||||
|
||||
it('due misure dello stesso test_id nella stessa sessione: vince quella inserita dopo', () => {
|
||||
// registraMisure non vieta di scrivere due volte lo stesso test_id nella stessa
|
||||
// sessione (es. una correzione manuale dopo un refuso di battitura). data di sessione
|
||||
// e id di sessione sono identici per le due righe: senza uno spareggio esplicito su
|
||||
// m.id (la riga in `misure`), l'ordine fra le due sarebbe indefinito.
|
||||
const db = dbPronto('ISL-0023', 'M');
|
||||
const s = apriSessione(db, { client_code: 'ISL-0023', data: '2026-08-05', tipo: 'checkup', eta_alla_data: 38 });
|
||||
registraMisure(db, s, 'manuale', [{ test_id: 'f_grasso_pct', valore_num: 20 }]); // scritta per prima, refuso
|
||||
registraMisure(db, s, 'manuale', [{ test_id: 'f_grasso_pct', valore_num: 12.8 }]); // corretta subito dopo
|
||||
|
||||
const misurate = misureValideAlla(db, s);
|
||||
expect(misurate.get('f_grasso_pct')).toBe(12.8); // l'ultima scritta, non la prima
|
||||
});
|
||||
|
||||
it('una misura fuori range viene ignorata e sostituita dalla precedente misura valida', () => {
|
||||
const db = dbPronto('ISL-0022', 'M');
|
||||
const s1 = apriSessione(db, { client_code: 'ISL-0022', data: '2026-08-05', tipo: 'checkup', eta_alla_data: 38 });
|
||||
|
||||
Reference in New Issue
Block a user