const test = require('node:test'); const assert = require('node:assert/strict'); const http = require('node:http'); const { createApp } = require('../src/app'); function startServer(app) { return new Promise((resolve) => { const server = app.listen(0, () => { const port = server.address().port; resolve({ server, port }); }); }); } test('GET /api/health returns { ok: true }', async () => { const app = createApp(); const { server, port } = await startServer(app); try { const result = await new Promise((resolve, reject) => { http.get(`http://localhost:${port}/api/health`, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { resolve({ status: res.statusCode, body: JSON.parse(data) }); }); res.on('error', reject); }); }); assert.equal(result.status, 200); assert.equal(result.body.ok, true); } finally { server.close(); } });