Skip to content

amqpx v1.0.1


amqpx / extensions/jest / TestBatchConsumer

Class: TestBatchConsumer<T> ​

Defined in: src/extensions/jest/test-batch-consumer.ts:35

Test implementation of BatchConsumer using jest mocks.

listen method instantly returns current instance wrapped in Promise. You can assert the parameters with which was this method called to assert listen method was called.

queue and channel properties return new instances of TestQueue and TestChannel respectively. close method is a jest mock returning void.

Use deliverMessages to simulate a batch of messages arriving and invoke the registered listener.

Example ​

ts
import { TestBatchConsumer } from 'amqpx/jest';

const consumer = new TestBatchConsumer<{ id: number }>();

const handler = jest.fn();
await consumer.listen(handler);

await consumer.deliverMessages([{ id: 1 }, { id: 2 }]);

expect(handler).toHaveBeenCalledTimes(1);

Extends ​

  • EventEmitter

Type Parameters ​

Type Parameter
T

Implements ​

Constructors ​

Constructor ​

new TestBatchConsumer<T>(): TestBatchConsumer<T>

Defined in: src/extensions/jest/test-batch-consumer.ts:37

Returns ​

TestBatchConsumer<T>

Overrides ​

EventEmitter.constructor

Properties ​

PropertyTypeDescriptionDefined in
channelTestChannelThe channel used by this consumer.src/extensions/jest/test-batch-consumer.ts:48
closeMock<any, any, any>Stops consuming new messages and waits for all in-flight batches to finish processing. Param Maximum time in milliseconds to wait for in-flight messages to complete. Defaults to 30000.src/extensions/jest/test-batch-consumer.ts:42
listenMock<any, any, any>Registers the batch handler and starts consuming from the queue. Param Handler invoked with a batch of received messages.src/extensions/jest/test-batch-consumer.ts:44
queueTestQueueThe queue this consumer reads from.src/extensions/jest/test-batch-consumer.ts:46

Methods ​

deliverMessages() ​

deliverMessages(messages, options?): Promise<void>

Defined in: src/extensions/jest/test-batch-consumer.ts:56

Simulates a batch of messages arriving from RabbitMQ by invoking the most recently registered listener. Throws if listen has not been called yet.

Parameters ​

ParameterTypeDescription
messagesT[]Array of parsed message payloads to deliver as a single batch.
optionsobject & Omit<Partial<ConsumeMessage>, "content">Optional serialization override and raw amqplib message field overrides applied to each message.

Returns ​

Promise<void>

Released under the MIT License.