From 5fa2be74de46522cf2813cc0adf252e80d83170f Mon Sep 17 00:00:00 2001 From: utsab Date: Tue, 8 Jan 2019 21:04:25 -0800 Subject: [PATCH] refactor(unit tests): dRY up the unit tests for invalid community events --- src/dataLayer/mongo/event-datalayer.test.js | 46 +++++++++------------ 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/src/dataLayer/mongo/event-datalayer.test.js b/src/dataLayer/mongo/event-datalayer.test.js index 15aab70..c7dedb8 100644 --- a/src/dataLayer/mongo/event-datalayer.test.js +++ b/src/dataLayer/mongo/event-datalayer.test.js @@ -200,36 +200,30 @@ describe('getCommunityEvent', () => { ); }); + // function validateError(err) { + // expect(err).toBeInstanceOf(TypeError); + // expect(err.message).toContain('Expected a valid externalId or title'); + // } + + function getCommunityEventPromiseForTestCase(testCase) { + return getCommunityEvent( + {}, + { externalId: testCase }, + validContextForBrian + ).catch(err => { + expect(err).toBeInstanceOf(TypeError); + expect(err.message).toContain('Expected a valid externalId or title'); + }); + } + // TODO: DRY please it('should throw if the externalId is not valid', done => { expect.assertions(8); Promise.all([ - getCommunityEvent({}, { externalId: 1 }, validContextForBrian).catch( - err => { - expect(err).toBeInstanceOf(TypeError); - expect(err.message).toContain('Expected a valid externalId or title'); - } - ), - getCommunityEvent({}, { externalId: 'abc' }, validContextForBrian).catch( - err => { - expect(err).toBeInstanceOf(TypeError); - expect(err.message).toContain('Expected a valid externalId or title'); - } - ), - getCommunityEvent( - {}, - { externalId: ['yeah nah'] }, - validContextForBrian - ).catch(err => { - expect(err).toBeInstanceOf(TypeError); - expect(err.message).toContain('Expected a valid externalId or title'); - }), - getCommunityEvent({}, { externalId: false }, validContextForBrian).catch( - err => { - expect(err).toBeInstanceOf(TypeError); - expect(err.message).toContain('Expected a valid externalId or title'); - } - ) + getCommunityEventPromiseForTestCase(1), + getCommunityEventPromiseForTestCase('abc'), + getCommunityEventPromiseForTestCase(['yeah nah']), + getCommunityEventPromiseForTestCase(false) ]).then(() => { done(); });