diff --git a/tests/longevity/anagrafica.test.ts b/tests/longevity/anagrafica.test.ts index 1114c7c..83ac0ce 100644 --- a/tests/longevity/anagrafica.test.ts +++ b/tests/longevity/anagrafica.test.ts @@ -46,13 +46,27 @@ describe('anagrafica pseudonimizzata', () => { expect(etaAllaData('1988-12-31', '2026-08-21')).toBe(37); // compleanno non ancora passato }); - it('nessun altro modulo apre entrambe le connessioni', () => { - const dir = join(process.cwd(), 'src/lib/longevity'); + it('nessun file in src/ (escluso anagrafica.ts e db.ts) apre entrambe le connessioni', () => { + const srcDir = join(process.cwd(), 'src'); const colpevoli: string[] = []; - for (const f of readdirSync(dir)) { - if (!f.endsWith('.ts') || f === 'anagrafica.ts' || f === 'db.ts') continue; - const src = readFileSync(join(dir, f), 'utf8'); - if (src.includes('createIdentityDb') && src.includes('createLongevityDb')) colpevoli.push(f); + + const files = readdirSync(srcDir, { recursive: true, withFileTypes: false }) as string[]; + for (const f of files) { + const path = join(srcDir, f); + + // Salta node_modules e dist + if (f.includes('node_modules') || f.includes('dist')) continue; + + // Accetta solo .ts e .astro + if (!f.endsWith('.ts') && !f.endsWith('.astro')) continue; + + // Esclude i moduli autorizzati + if (f === 'lib/longevity/anagrafica.ts' || f === 'lib/longevity/db.ts') continue; + + const src = readFileSync(path, 'utf8'); + if (src.includes('createIdentityDb') && src.includes('createLongevityDb')) { + colpevoli.push(f); + } } expect(colpevoli).toEqual([]); });