sls-jest
  • Getting Started
  • Core Concepts
  • AWS Credentials
  • Matchers
    • DynamoDB
    • S3
    • AppSync
    • EventBridge
  • Spies
    • Setup
    • EventBridge
  • Utilities
    • DynamoDB
  • Cookbooks
    • Github Actions
    • CDK
Powered by GitBook
On this page
  • toHaveEventMatchingObject<TDetailType, TDetail>(expected: DeepPartial<EventBridgeEvent<TDetailType, TDetail>>)
  • toHaveEventMatchingObjectTimes<TDetailType, TDetail>(expected: DeepPartial<EventBridgeEvent<TDetailType, TDetail>>, times: number)

Was this helpful?

Edit on GitHub
  1. Matchers

EventBridge

PreviousAppSyncNextSetup

Last updated 2 years ago

Was this helpful?

Use those matchers in combinations with .

toHaveEventMatchingObject<TDetailType, TDetail>(expected: DeepPartial<EventBridgeEvent<TDetailType, TDetail>>)

Asserts that an event was put on the spied event bus and that it matches a subset of the properties of an object. It works similarly to jest's .

await expect(spy).toHaveEventMatchingObject<'orderCreated', Order>({
  'detail-type': 'orderCreated',
  detail: {
    id: order.id,
  },
});

toHaveEventMatchingObjectTimes<TDetailType, TDetail>(expected: DeepPartial<EventBridgeEvent<TDetailType, TDetail>>, times: number)

Same as toHaveEventMatchingObject, but it ensures that exactly n matching, but different, events have been seen in total.

Note: The spy will deduplicate any event that might have been received more than once (because of the at-least-once delivery policy nature of EventBridge). It does so, based on the event id.

await expect(spy).toHaveEventMatchingObjectTimes<'orderCreated', Order>(
  {
    'detail-type': 'orderCreated',
    detail: {
      id: order.id,
    },
  },
  1,
);
EventBridge spies
toMatchObject