import 'reflect-metadata'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { createApp, type CreatedApiApp } from './bootstrap'; import { loadDotenv } from './config/load-dotenv'; /** 装配冒烟:不监听端口,验证 env / 模块 / 守卫链 / Swagger 装配可完成 */ describe('bootstrap.createApp', () => { let created: CreatedApiApp; beforeAll(async () => { loadDotenv(); created = await createApp(); await created.app.init(); }); afterAll(async () => { await created.app.close(); }); it('应用装配成功,健康检查公开(不因守卫 401)', async () => { expect(created.config.port).toBeGreaterThan(0); expect(created.config.jwtAccessSecret.length).toBeGreaterThanOrEqual(32); const response = await created.app.inject({ method: 'GET', url: '/health' }); expect([200, 503]).toContain(response.statusCode); }); });