2023-01-16 09:45:12 +00:00
|
|
|
import { WebhookEventTypeAsyncEnum } from "@dashboard/graphql";
|
2022-12-15 13:51:05 +00:00
|
|
|
|
2023-01-30 12:06:54 +00:00
|
|
|
import { filterSelectedAsyncEvents } from "./utils";
|
2022-12-15 13:51:05 +00:00
|
|
|
|
|
|
|
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);
|
|
|
|
});
|
|
|
|
});
|