// test/hello.test.mjs import assert from 'node:assert/strict'; import { after, before, test } from 'node:test'; import { createAppServer } from '../src/server.mjs'; // The server on a port of this machine, for the file. let server; let base; before(async () => { server = createAppServer(); await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve)); base = `http://127.0.0.1:${server.address().port}`; }); after(async () => { await new Promise((resolve) => server.close(resolve)); }); test('GET /health returns 200', async () => { const response = await fetch(`${base}/health`); assert.equal(response.status, 200); assert.deepEqual(await response.json(), { ok: true }); }); test('GET /api/hello returns the text hello world', async () => { const response = await fetch(`${base}/api/hello`); assert.equal(response.status, 200); assert.equal(response.headers.get('content-type'), 'text/plain; charset=utf-8'); assert.equal(await response.text(), 'hello world'); });