Skip to content

Commit

Permalink
Recover test-coverage in lib/comsumers-manager
Browse files Browse the repository at this point in the history
  • Loading branch information
eaviles committed May 29, 2019
1 parent 182d6f5 commit e9759ad
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 35 deletions.
48 changes: 14 additions & 34 deletions lib/__mocks__/aws-sdk.js
Original file line number Diff line number Diff line change
@@ -1,40 +1,20 @@
'use strict';

const createTable = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});

const deleteMock = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});

const describeTable = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});

const get = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});

const listTagsOfResource = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});

const put = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});

const tagResource = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});

const update = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});
function createResponseMock() {
return jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});
}

const waitFor = jest.fn(() => {
return { promise: () => Promise.resolve({}) };
});
const createTable = createResponseMock();
const deleteMock = createResponseMock();
const describeTable = createResponseMock();
const get = createResponseMock();
const listTagsOfResource = createResponseMock();
const put = createResponseMock();
const tagResource = createResponseMock();
const update = createResponseMock();
const waitFor = createResponseMock();

const DynamoDB = jest.fn(() => ({
createTable,
Expand Down
7 changes: 7 additions & 0 deletions lib/consumers-manager.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,4 +149,11 @@ describe('lib/consumers-manager', () => {
['Stopping the consumer for "foo"…']
]);
});

test('the manager should stop all consumers when asked to stop', async () => {
manager = new ConsumersManager({ logger, stateStore });
await manager.reconcile();
manager.stop();
expect(PollingConsumer.getMocks().stop).toHaveBeenCalled();
});
});
8 changes: 7 additions & 1 deletion lib/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,8 @@ describe('lib/index', () => {
await stateStore.registerEnhancedConsumer('bar-2', 'arn:bar-2');
stateStore.registerEnhancedConsumer.mockClear();

const kinesis = new Kinesis({ ...options, useEnhancedFanOut: true });
const debug = jest.fn();
const kinesis = new Kinesis({ ...options, logger: { debug }, useEnhancedFanOut: true });
await expect(kinesis.startConsumer()).resolves.toBeUndefined();
expect(stream.registerEnhancedConsumer.mock.calls).toEqual([
[expect.objectContaining({ consumerName: 'lifion-kinesis-0001' })],
Expand All @@ -327,6 +328,11 @@ describe('lib/index', () => {
};
expect(await stream.getEnhancedConsumers()).toEqual(enhancedConsumers);
expect(await stateStore.getEnhancedConsumers()).toEqual(enhancedConsumers);
expect(debug.mock.calls).toEqual([
['Trying to start the consumer…'],
['Cleaning up enhanced consumers for "test-stream"…'],
['The consumer is now ready.']
]);
kinesis.stopConsumer();
});

Expand Down

0 comments on commit e9759ad

Please sign in to comment.