763e5611e6
- creaCliente: il codice si deduce dal massimo fra identity E longevity (non piu' solo identity), cosi' un client_code cancellato dall'anagrafica non torna mai disponibile e non si attribuiscono le misure di un vecchio cliente a uno nuovo. Compensazione se la scrittura su longevity fallisce dopo quella su identity. - ROLES unica fonte in auth.ts (Role e isRole derivati); users.astro e users/new.astro usano quella lista invece di array scritti a mano che dimenticavano cliente/trainer. - Commento falso su cosa protegge il middleware, riscritto: rimanda a isProtectedPath. - vitest.config.ts: alias per astro:middleware (stesso bersaglio della pipeline vite di Astro), cosi' src/middleware.ts e' finalmente importabile e testabile in isolamento - prima nessun test lo caricava davvero. - export.test.ts: asserzione posizionale per colonna, non piu' solo intestazioni scritte a mano; intercetta un riordino della SELECT che disallinea etichette e valori. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
16 lines
706 B
TypeScript
16 lines
706 B
TypeScript
import { defineConfig } from 'vitest/config';
|
|
|
|
export default defineConfig({
|
|
test: { include: ['tests/**/*.test.ts'] },
|
|
resolve: {
|
|
alias: [
|
|
// src/middleware.ts importa da 'astro:middleware', un modulo virtuale che Astro
|
|
// risolve solo dentro la propria pipeline vite (dev/build), non sotto vitest puro.
|
|
// Stesso bersaglio che Astro stesso usa (node_modules/astro/dist/core/create-vite.js):
|
|
// defineMiddleware è identità (fn => fn), sequence è reale. Senza questo alias il
|
|
// middleware non è caricabile in isolamento e nessun test può importarlo davvero.
|
|
{ find: 'astro:middleware', replacement: 'astro/virtual-modules/middleware.js' },
|
|
],
|
|
},
|
|
});
|