import { type Server } from "bun";
import { expect, test, beforeAll, afterAll } from "bun:test";

import app from "../src/index";

const port = 33000;
const base = `http://localhost:${port}/`;
let server: Server;

beforeAll(async function () {
  server = Bun.serve(Object.assign({}, app, { port }));
});

afterAll(function () {
  server.stop();
});

test("/ returns 200", async function () {
  const res = await fetch(base);
  expect(res.status).toBe(200);
});

test("/asdf returns 404", async function () {
  const res = await fetch(`${base}asdf`);
  expect(res.status).toBe(404);
});