Test withSaleorEventMatch
This commit is contained in:
parent
d90abdceac
commit
0882c7e408
2 changed files with 58 additions and 1 deletions
|
@ -6,7 +6,7 @@ import { withBaseURL } from "./with-base-url";
|
|||
|
||||
const getMockEmptyResponse = async () => ({} as Response);
|
||||
|
||||
describe("middleware.test.ts", () => {
|
||||
describe("middleware", () => {
|
||||
describe("withBaseURL", () => {
|
||||
let mockHandlerFn: Handler = vi.fn(getMockEmptyResponse);
|
||||
|
||||
|
|
57
src/middleware/with-saleor-event-match.test.ts
Normal file
57
src/middleware/with-saleor-event-match.test.ts
Normal file
|
@ -0,0 +1,57 @@
|
|||
import { Handler, Request } from "retes";
|
||||
import { Response } from "retes/response";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
import { SALEOR_EVENT_HEADER } from "../const";
|
||||
import { withSaleorEventMatch } from "./with-saleor-event-match";
|
||||
|
||||
const getMockSuccessResponse = async () => Response.OK({});
|
||||
|
||||
describe("middleware", () => {
|
||||
describe("withSaleorEventMatch", () => {
|
||||
let mockHandlerFn: Handler = vi.fn(getMockSuccessResponse);
|
||||
|
||||
beforeEach(() => {
|
||||
mockHandlerFn = vi.fn(getMockSuccessResponse);
|
||||
});
|
||||
|
||||
it("Pass request when request has expected event header", async () => {
|
||||
const eventName = "product-updated";
|
||||
const mockRequest = {
|
||||
context: {},
|
||||
headers: {
|
||||
[SALEOR_EVENT_HEADER]: eventName,
|
||||
},
|
||||
} as unknown as Request;
|
||||
|
||||
const response = await withSaleorEventMatch(eventName)(mockHandlerFn)(mockRequest);
|
||||
|
||||
expect(response.status).toBe(200);
|
||||
expect(mockHandlerFn).toHaveBeenCalledOnce();
|
||||
});
|
||||
|
||||
it("Reject request when event header is not present", async () => {
|
||||
const mockRequest = {
|
||||
context: {},
|
||||
headers: {},
|
||||
} as unknown as Request;
|
||||
|
||||
const response = await withSaleorEventMatch("product-updated")(mockHandlerFn)(mockRequest);
|
||||
expect(response.status).eq(400);
|
||||
expect(mockHandlerFn).toBeCalledTimes(0);
|
||||
});
|
||||
|
||||
it("Reject request when event header does not match", async () => {
|
||||
const mockRequest = {
|
||||
context: {},
|
||||
headers: {
|
||||
[SALEOR_EVENT_HEADER]: "wrong-event",
|
||||
},
|
||||
} as unknown as Request;
|
||||
|
||||
const response = await withSaleorEventMatch("product-updated")(mockHandlerFn)(mockRequest);
|
||||
expect(response.status).eq(400);
|
||||
expect(mockHandlerFn).toBeCalledTimes(0);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in a new issue