import { Group } from './group.class'; import { CommitMessageRule } from './commitMessage.rule'; import { OneCommitPerPRRule } from './oneCommitPerPR.rule'; import { logger } from '../logger/logger.service'; import { MockAnalytics } from '../__mocks__/mocks'; describe('Group', () => { describe('displayInformations', () => { it('should call logger.info 5 times', () => { const grp: Group = new Group(); grp.groupName = 'group 1'; grp.onBoth = [ { callback: 'LoggerRunnable', args: { type: 'info', message: 'my message' }, }, ]; grp.onSuccess = []; grp.onError = []; grp.rules = [ new CommitMessageRule(MockAnalytics), new OneCommitPerPRRule(MockAnalytics), ]; logger.info = jest.fn().mockName('logger.info'); grp.displayInformations(); expect(logger.info).toBeCalledTimes(5); }); it('should call logger.info 3 times', () => { const grp: Group = new Group(); grp.groupName = 'group 1'; grp.onBoth = [ { callback: 'LoggerRunnable', args: { type: 'info', message: 'my message' }, }, ]; grp.rules = [ new CommitMessageRule(MockAnalytics), new OneCommitPerPRRule(MockAnalytics), ]; logger.info = jest.fn().mockName('logger.info'); grp.displayInformations(); expect(logger.info).toBeCalledTimes(3); }); }); });