import { spawn } from "child_process"; import Axios from "axios"; const Instance = Axios.create({ baseURL: "http://localhost:3000" }) spawn(`deno`, [ "run", "--allow-net", `${__dirname}/../dist/test.deno.js` ]); const randomString = () => Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); describe("Test server", () => { test("normal 200 response", async () => { expect.assertions(2); await new Promise((r) => setTimeout(r, 200)); const { data, status } = await Instance.get("/"); expect(status).toEqual(200); expect(data).toEqual("200 OK"); }) test("post response", async () => { expect.assertions(2); const string = randomString(); const { data, status } = await Instance.post("/post", string); expect(status).toEqual(200); expect(data).toEqual(string); }) test("change header and status code", async () => { expect.assertions(3); const { data, status, headers } = await Instance.get("/header"); expect(status).toEqual(204); expect(headers["itis"]).toEqual("work"); expect(data).toEqual(""); }) test("get param", async () => { expect.assertions(2); const string = randomString(); const { data, status } = await Instance.get(`/info/${string}`); expect(status).toEqual(200); expect(data).toEqual(string); }) test("chain interrupted", async () => { expect.assertions(2); const { data, status } = await Instance.get(`/info/foo`); expect(status).toEqual(200); expect(data).toEqual("hit"); }) })