From c15caef702bb6612bf00cc5d8a4dd621e435c105 Mon Sep 17 00:00:00 2001 From: Lukasz Ostrowski Date: Mon, 8 Aug 2022 17:10:42 +0200 Subject: [PATCH] Adds middleware test --- src/middleware.test.ts | 32 ++++++++++++++++++++++++++++++++ src/middleware.ts | 3 +-- 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 src/middleware.test.ts diff --git a/src/middleware.test.ts b/src/middleware.test.ts new file mode 100644 index 0000000..4a4255f --- /dev/null +++ b/src/middleware.test.ts @@ -0,0 +1,32 @@ +import { Handler, Request } from "retes"; +import { Response } from "retes/types"; +import { beforeEach, describe, expect, it, vi } from "vitest"; + +import { withBaseURL } from "./middleware"; + +const getMockEmptyResponse = async () => ({} as Response); + +describe("middleware.test.ts", () => { + describe("withBaseURL", () => { + let mockHandlerFn: Handler = vi.fn(getMockEmptyResponse); + + beforeEach(() => { + mockHandlerFn = vi.fn(); + }); + + it("Adds base URL from request header to context and calls handler", async () => { + const mockRequest = { + context: {}, + headers: { + host: "my-saleor-env.saleor.cloud", + "x-forwarded-proto": "https", + }, + } as unknown as Request; + + await withBaseURL(mockHandlerFn)(mockRequest); + + expect(mockRequest.context.baseURL).toBe("https://my-saleor-env.saleor.cloud"); + expect(mockHandlerFn).toHaveBeenCalledOnce(); + }); + }); +}); diff --git a/src/middleware.ts b/src/middleware.ts index 8442042..e31e7c4 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -12,8 +12,7 @@ export const withBaseURL: Middleware = (handler) => async (request) => { request.context.baseURL = `${protocol}://${host}`; - const response = await handler(request); - return response; + return handler(request); }; export const withSaleorDomainPresent: Middleware = (handler) => async (request) => {