From 82a4cd20004500541dd614387ff213c7eccb872e Mon Sep 17 00:00:00 2001 From: AdrianoDev Date: Sat, 22 Aug 2026 10:49:42 +0200 Subject: [PATCH] test: chiude l'errore di tipi pre-esistente in middleware.test.ts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cast di FakeContext a onRequest via 'unknown' invece che diretto: i due tipi non si sovrappongono abbastanza per tsc (FakeContext è un doppio minimale, non un APIContext completo). Il typecheck è il meccanismo di sicurezza di questo motore: uno rosso in permanenza è un cancello che nessuno guarda più. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01XhLbMQ1q7wHwJSykgXRwQF --- tests/longevity/middleware.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/longevity/middleware.test.ts b/tests/longevity/middleware.test.ts index 1430b9c..ec6b11a 100644 --- a/tests/longevity/middleware.test.ts +++ b/tests/longevity/middleware.test.ts @@ -38,7 +38,11 @@ describe('src/middleware.ts — protezione reale delle rotte longevity', () => { beforeAll(async () => { const mod = await import('../../src/middleware.ts'); - onRequest = mod.onRequest as typeof onRequest; + // FakeContext è un doppio minimale di APIContext (solo cio' che onRequest usa + // davvero: url, cookies, redirect, locals), non un APIContext completo: il cast + // diretto viene rifiutato dal typecheck perche' i due tipi non si sovrappongono + // abbastanza. Si passa da 'unknown' perche' e' un cast intenzionale, non un bug. + onRequest = mod.onRequest as unknown as typeof onRequest; }); it('una rotta longevity senza sessione (nessun cookie) redirige al login e non serve la pagina', async () => {