feat(api): app NestJS con configuración validada y health check
Nest 12 (ESM, vitest, oxlint). El .env se valida con zod al arrancar; prefijo global /api, CORS configurable y GET /api/health. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e4417705e7
commit
445efc998d
21 files changed
+6145
-1
No files matched your search
@@ -0,0 +1,20 @@
|
||||
import { validateEnv } from './env.schema.js';
|
||||
|
||||
describe('validateEnv', () => {
|
||||
it('aplica valores por defecto', () => {
|
||||
const env = validateEnv({});
|
||||
expect(env.PORT).toBe(3000);
|
||||
expect(env.CORS_ORIGINS).toEqual([]);
|
||||
expect(env.LOG_LEVEL).toBe('log');
|
||||
});
|
||||
|
||||
it('convierte PORT y separa CORS_ORIGINS', () => {
|
||||
const env = validateEnv({ PORT: '8080', CORS_ORIGINS: 'https://a.local, https://b.local' });
|
||||
expect(env.PORT).toBe(8080);
|
||||
expect(env.CORS_ORIGINS).toEqual(['https://a.local', 'https://b.local']);
|
||||
});
|
||||
|
||||
it('rechaza valores inválidos con un mensaje claro', () => {
|
||||
expect(() => validateEnv({ PORT: 'abc' })).toThrow(/PORT/);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user