import { getMockRepository } from '../base/mockRepository'; import { getChatUserMockService } from './getChatUserMockService'; import createLogger from '../../log'; describe('chatUserMockService', () => { const logger = createLogger(); const chatUserMockService = getChatUserMockService(logger, getMockRepository(logger)); test('service is defined', () => { expect(chatUserMockService).toBeDefined(); }); test('service gets user by valid token', async () => { const token = '1/mockT0k3N'; const data = chatUserMockService.getUserByMockToken({ token, authMethod: 's_authn_sca_pwd_sms', mockCounter: 1, tokenCounterMax: 2 }); expect(data).toBeDefined(); expect(data).toEqual({ token, mock: true, valid: true, cluid: '9005-06-03-08.03.09.820401', userId: '321287784', instituteNumber: '180', firstname: 'Kristýna', lastname: 'Augustová', gender: 'FEMALE', salutation: 'Kristýno Augustová', dateOfBirth: '1973-12-26', authScenarioSid: 's_authn_sca_pwd_sms' }); }); test('service gets user by invalid token', async () => { const token = '1/mockT0k3N'; const data = chatUserMockService.getUserByMockToken({ token, authMethod: 's_authn_sca_pwd_sms', mockCounter: 1, tokenCounterMax: 1 }); expect(data).toBeDefined(); expect(data).toEqual({ token, mock: true, valid: false, cluid: '9005-06-03-08.03.09.820401', userId: '321287784', instituteNumber: '180', firstname: 'Kristýna', lastname: 'Augustová', gender: 'FEMALE', salutation: 'Kristýno Augustová', dateOfBirth: '1973-12-26', authScenarioSid: 's_authn_sca_pwd_sms' }); }); test('repository fails to get user with non-existing token', async () => { expect(() => chatUserMockService.getUserByMockToken({ token: 'idontexist', authMethod: 's_authn_sca_pwd_sms', mockCounter: 1, tokenCounterMax: 1 })).toThrow(); }); });