saleor-dashboard/src/custom-apps/utils.test.ts
2023-01-30 13:06:54 +01:00

39 lines
1.2 KiB
TypeScript

import { WebhookEventTypeAsyncEnum } from "@dashboard/graphql";
import { filterSelectedAsyncEvents } from "./utils";
describe("Custom Apps filtering events", () => {
it("should return selected async event types when not any event selected", () => {
// Arrange
const selectedEvents: WebhookEventTypeAsyncEnum[] = [
WebhookEventTypeAsyncEnum.PAGE_CREATED,
WebhookEventTypeAsyncEnum.PRODUCT_CREATED,
];
// Act
const asyncEvents = filterSelectedAsyncEvents(selectedEvents);
// Assert
expect(asyncEvents).toHaveLength(2);
expect(asyncEvents).toEqual(selectedEvents);
});
it("should return only any async event type when any event selected", () => {
// Arrange
const selectedEvents: WebhookEventTypeAsyncEnum[] = [
WebhookEventTypeAsyncEnum.ANY_EVENTS,
WebhookEventTypeAsyncEnum.PAGE_CREATED,
WebhookEventTypeAsyncEnum.PRODUCT_CREATED,
];
// Act
const asyncEvents = filterSelectedAsyncEvents(selectedEvents);
// Assert
const expectedAsyncEvents: WebhookEventTypeAsyncEnum[] = [
WebhookEventTypeAsyncEnum.ANY_EVENTS,
];
expect(asyncEvents).toHaveLength(1);
expect(asyncEvents).toEqual(expectedAsyncEvents);
});
});