import { HttpCode, HttpError } from "../src/common/http" describe("http", () => { describe("HttpCode", () => { it("should return the correct HTTP codes", () => { expect(HttpCode.Ok).toBe(200) expect(HttpCode.Redirect).toBe(302) expect(HttpCode.NotFound).toBe(404) expect(HttpCode.BadRequest).toBe(400) expect(HttpCode.Unauthorized).toBe(401) expect(HttpCode.LargePayload).toBe(413) expect(HttpCode.ServerError).toBe(500) }) }) describe("HttpError", () => { it("should work as expected", () => { const message = "Bad request from client" const httpError = new HttpError(message, HttpCode.BadRequest) expect(httpError.message).toBe(message) expect(httpError.status).toBe(400) expect(httpError.details).toBeUndefined() }) it("should have details if provided", () => { const details = { message: "User needs to be signed-in in order to perform action", } const message = "Unauthorized" const httpError = new HttpError(message, HttpCode.BadRequest, details) expect(httpError.details).toStrictEqual(details) }) }) })