import { Request, Response } from 'express';
import assert from 'node:assert/strict';
import { describe, it } from 'node:test';

import onHealth from '../../src/middlewares/health.js';

describe('health middleware', () => {
  it('on GET /health returns 200', () => {
    const request = { originalUrl: '/' } as Request;

    let actualStatus;
    let actualBody;

    const response = {
      status: (status: number) => {
        actualStatus = status;

        return {
          json: (body: object) => {
            actualBody = body;
          },
        };
      },
    } as Response;

    onHealth(request, response);

    assert.deepEqual(actualStatus, 200);
    assert.deepEqual(actualBody, {});
  });
});
