39 lines
1.2 KiB
TypeScript
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);
|
|
});
|
|
});
|