diff --git a/test/servers/reducers/selectedServer.test.js b/test/servers/reducers/selectedServer.test.js index 3a0bec3c..dcab78e6 100644 --- a/test/servers/reducers/selectedServer.test.js +++ b/test/servers/reducers/selectedServer.test.js @@ -39,20 +39,12 @@ describe('selectedServerReducer', () => { it('dispatches proper actions', () => { const dispatch = jest.fn(); - const expectedDispatchCalls = 2; selectServer(ServersServiceMock)(serverId)(dispatch); - const [ firstCallArgs, secondCallArgs ] = dispatch.mock.calls; - - expect(dispatch).toHaveBeenCalledTimes(expectedDispatchCalls); - expect(firstCallArgs).toEqual([{ type: RESET_SHORT_URL_PARAMS }]); - expect(secondCallArgs).toEqual([ - { - type: SELECT_SERVER, - selectedServer, - }, - ]); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(1, { type: RESET_SHORT_URL_PARAMS }); + expect(dispatch).toHaveBeenNthCalledWith(2, { type: SELECT_SERVER, selectedServer }); }); it('invokes dependencies', () => { diff --git a/test/servers/reducers/server.test.js b/test/servers/reducers/server.test.js index 2d68e381..6645f9e0 100644 --- a/test/servers/reducers/server.test.js +++ b/test/servers/reducers/server.test.js @@ -52,7 +52,7 @@ describe('serverReducer', () => { expect(result).toEqual(expectedFetchServersResult); expect(ServersServiceMock.createServer).toHaveBeenCalledTimes(1); - expect(ServersServiceMock.createServer.mock.calls[0]).toEqual([ serverToCreate ]); + expect(ServersServiceMock.createServer).toHaveBeenCalledWith(serverToCreate); expect(ServersServiceMock.listServers).not.toHaveBeenCalled(); expect(ServersServiceMock.deleteServer).not.toHaveBeenCalled(); expect(ServersServiceMock.createServers).not.toHaveBeenCalled(); @@ -69,7 +69,7 @@ describe('serverReducer', () => { expect(ServersServiceMock.createServer).not.toHaveBeenCalled(); expect(ServersServiceMock.createServers).not.toHaveBeenCalled(); expect(ServersServiceMock.deleteServer).toHaveBeenCalledTimes(1); - expect(ServersServiceMock.deleteServer.mock.calls[0]).toEqual([ serverToDelete ]); + expect(ServersServiceMock.deleteServer).toHaveBeenCalledWith(serverToDelete); }); }); @@ -82,7 +82,7 @@ describe('serverReducer', () => { expect(ServersServiceMock.listServers).not.toHaveBeenCalled(); expect(ServersServiceMock.createServer).not.toHaveBeenCalled(); expect(ServersServiceMock.createServers).toHaveBeenCalledTimes(1); - expect(ServersServiceMock.createServers.mock.calls[0]).toEqual([ serversToCreate ]); + expect(ServersServiceMock.createServers).toHaveBeenCalledWith(serversToCreate); expect(ServersServiceMock.deleteServer).not.toHaveBeenCalled(); }); }); diff --git a/test/servers/services/ServersService.test.js b/test/servers/services/ServersService.test.js index a80046f9..87346c82 100644 --- a/test/servers/services/ServersService.test.js +++ b/test/servers/services/ServersService.test.js @@ -1,4 +1,3 @@ -import { last } from 'ramda'; import ServersService from '../../../src/servers/services/ServersService'; describe('ServersService', () => { @@ -68,10 +67,7 @@ describe('ServersService', () => { expect(storageMock.get).toHaveBeenCalledTimes(1); expect(storageMock.set).toHaveBeenCalledTimes(1); - - const setLastCallLastArg = last(last(storageMock.set.mock.calls)); - - expect(setLastCallLastArg).toEqual({ + expect(storageMock.set).toHaveBeenCalledWith(expect.anything(), { abc123: { id: 'abc123' }, def456: { id: 'def456' }, ghi789: { id: 'ghi789' }, @@ -88,10 +84,7 @@ describe('ServersService', () => { expect(storageMock.get).toHaveBeenCalledTimes(1); expect(storageMock.set).toHaveBeenCalledTimes(1); - - const setLastCallLastArg = last(last(storageMock.set.mock.calls)); - - expect(setLastCallLastArg).toEqual({ + expect(storageMock.set).toHaveBeenCalledWith(expect.anything(), { abc123: { id: 'abc123' }, def456: { id: 'def456' }, ghi789: { id: 'ghi789' }, @@ -109,10 +102,7 @@ describe('ServersService', () => { expect(storageMock.get).toHaveBeenCalledTimes(1); expect(storageMock.set).toHaveBeenCalledTimes(1); - - const setLastCallLastArg = last(last(storageMock.set.mock.calls)); - - expect(setLastCallLastArg).toEqual({ + expect(storageMock.set).toHaveBeenCalledWith(expect.anything(), { def456: { id: 'def456' }, }); }); diff --git a/test/short-urls/CreateShortUrl.test.js b/test/short-urls/CreateShortUrl.test.js index b78a550f..f7b08096 100644 --- a/test/short-urls/CreateShortUrl.test.js +++ b/test/short-urls/CreateShortUrl.test.js @@ -49,19 +49,15 @@ describe('', () => { form.simulate('submit', { preventDefault: identity }); expect(createShortUrl).toHaveBeenCalledTimes(1); - expect(createShortUrl.mock.calls[0]).toEqual( - [ - { - longUrl: 'https://long-domain.com/foo/bar', - tags: [ 'tag_foo', 'tag_bar' ], - customSlug: 'my-slug', - validSince: validSince.format(), - validUntil: validUntil.format(), - maxVisits: '20', - findIfExists: false, - }, - ] - ); + expect(createShortUrl).toHaveBeenCalledWith({ + longUrl: 'https://long-domain.com/foo/bar', + tags: [ 'tag_foo', 'tag_bar' ], + customSlug: 'my-slug', + validSince: validSince.format(), + validUntil: validUntil.format(), + maxVisits: '20', + findIfExists: false, + }); done(); }); }); diff --git a/test/short-urls/helpers/EditTagsModal.test.js b/test/short-urls/helpers/EditTagsModal.test.js index 43df3feb..99c3106f 100644 --- a/test/short-urls/helpers/EditTagsModal.test.js +++ b/test/short-urls/helpers/EditTagsModal.test.js @@ -92,7 +92,7 @@ describe('', () => { saveBtn.simulate('click'); expect(editShortUrlTags).toHaveBeenCalledTimes(1); - expect(editShortUrlTags.mock.calls[0]).toEqual([ shortCode, []]); + expect(editShortUrlTags).toHaveBeenCalledWith(shortCode, []); // Wrap this expect in a setImmediate since it is called as a result of an inner promise setImmediate(() => { @@ -130,7 +130,7 @@ describe('', () => { setImmediate(() => { modal.simulate('closed'); expect(shortUrlTagsEdited).toHaveBeenCalledTimes(1); - expect(shortUrlTagsEdited.mock.calls[0]).toEqual([ shortCode, []]); + expect(shortUrlTagsEdited).toHaveBeenCalledWith(shortCode, []); done(); }); }); diff --git a/test/short-urls/reducers/shortUrlCreation.test.js b/test/short-urls/reducers/shortUrlCreation.test.js index c976721c..3e1ee367 100644 --- a/test/short-urls/reducers/shortUrlCreation.test.js +++ b/test/short-urls/reducers/shortUrlCreation.test.js @@ -55,22 +55,19 @@ describe('shortUrlCreationReducer', () => { afterEach(() => dispatch.mockReset()); it('calls API on success', async () => { - const expectedDispatchCalls = 2; const result = 'foo'; const apiClientMock = createApiClientMock(Promise.resolve(result)); const dispatchable = createShortUrl(() => apiClientMock)({}); await dispatchable(dispatch, getState); - const [ firstDispatchCallArgs, secondDispatchCallArgs ] = dispatch.mock.calls; expect(apiClientMock.createShortUrl).toHaveBeenCalledTimes(1); - expect(dispatch).toHaveBeenCalledTimes(expectedDispatchCalls); - expect(firstDispatchCallArgs).toEqual([{ type: CREATE_SHORT_URL_START }]); - expect(secondDispatchCallArgs).toEqual([{ type: CREATE_SHORT_URL, result }]); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(1, { type: CREATE_SHORT_URL_START }); + expect(dispatch).toHaveBeenNthCalledWith(2, { type: CREATE_SHORT_URL, result }); }); it('throws on error', async () => { - const expectedDispatchCalls = 2; const error = 'Error'; const apiClientMock = createApiClientMock(Promise.reject(error)); const dispatchable = createShortUrl(() => apiClientMock)({}); @@ -80,12 +77,11 @@ describe('shortUrlCreationReducer', () => { } catch (e) { expect(e).toEqual(error); } - const [ firstDispatchCallArgs, secondDispatchCallArgs ] = dispatch.mock.calls; expect(apiClientMock.createShortUrl).toHaveBeenCalledTimes(1); - expect(dispatch).toHaveBeenCalledTimes(expectedDispatchCalls); - expect(firstDispatchCallArgs).toEqual([{ type: CREATE_SHORT_URL_START }]); - expect(secondDispatchCallArgs).toEqual([{ type: CREATE_SHORT_URL_ERROR }]); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(1, { type: CREATE_SHORT_URL_START }); + expect(dispatch).toHaveBeenNthCalledWith(2, { type: CREATE_SHORT_URL_ERROR }); }); }); }); diff --git a/test/short-urls/reducers/shortUrlDeletion.test.js b/test/short-urls/reducers/shortUrlDeletion.test.js index 037d1cc6..63f18f30 100644 --- a/test/short-urls/reducers/shortUrlDeletion.test.js +++ b/test/short-urls/reducers/shortUrlDeletion.test.js @@ -70,17 +70,15 @@ describe('shortUrlDeletionReducer', () => { deleteShortUrl: jest.fn(() => ''), }; const shortCode = 'abc123'; - const expectedDispatchCalls = 2; await deleteShortUrl(() => apiClientMock)(shortCode)(dispatch, getState); - const [ firstDispatchCallArgs, secondDispatchCallArgs ] = dispatch.mock.calls; - expect(dispatch).toHaveBeenCalledTimes(expectedDispatchCalls); - expect(firstDispatchCallArgs).toEqual([{ type: DELETE_SHORT_URL_START }]); - expect(secondDispatchCallArgs).toEqual([{ type: DELETE_SHORT_URL, shortCode }]); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(1, { type: DELETE_SHORT_URL_START }); + expect(dispatch).toHaveBeenNthCalledWith(2, { type: DELETE_SHORT_URL, shortCode }); expect(apiClientMock.deleteShortUrl).toHaveBeenCalledTimes(1); - expect(apiClientMock.deleteShortUrl.mock.calls[0]).toEqual([ shortCode ]); + expect(apiClientMock.deleteShortUrl).toHaveBeenCalledWith(shortCode); }); it('dispatches proper actions if API client request fails', async () => { @@ -90,21 +88,19 @@ describe('shortUrlDeletionReducer', () => { deleteShortUrl: jest.fn(() => Promise.reject(error)), }; const shortCode = 'abc123'; - const expectedDispatchCalls = 2; try { await deleteShortUrl(() => apiClientMock)(shortCode)(dispatch, getState); } catch (e) { expect(e).toEqual(error); } - const [ firstDispatchCallArgs, secondDispatchCallArgs ] = dispatch.mock.calls; - expect(dispatch).toHaveBeenCalledTimes(expectedDispatchCalls); - expect(firstDispatchCallArgs).toEqual([{ type: DELETE_SHORT_URL_START }]); - expect(secondDispatchCallArgs).toEqual([{ type: DELETE_SHORT_URL_ERROR, errorData: data }]); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(1, { type: DELETE_SHORT_URL_START }); + expect(dispatch).toHaveBeenNthCalledWith(2, { type: DELETE_SHORT_URL_ERROR, errorData: data }); expect(apiClientMock.deleteShortUrl).toHaveBeenCalledTimes(1); - expect(apiClientMock.deleteShortUrl.mock.calls[0]).toEqual([ shortCode ]); + expect(apiClientMock.deleteShortUrl).toHaveBeenCalledWith(shortCode); }); }); }); diff --git a/test/short-urls/reducers/shortUrlsList.test.js b/test/short-urls/reducers/shortUrlsList.test.js index b7f5578a..5af7b9cd 100644 --- a/test/short-urls/reducers/shortUrlsList.test.js +++ b/test/short-urls/reducers/shortUrlsList.test.js @@ -84,14 +84,12 @@ describe('shortUrlsListReducer', () => { const apiClientMock = { listShortUrls: jest.fn().mockResolvedValue([]), }; - const expectedDispatchCalls = 2; await listShortUrls(() => apiClientMock)()(dispatch, getState); - const [ firstDispatchCallArgs, secondDispatchCallArgs ] = dispatch.mock.calls; - expect(dispatch).toHaveBeenCalledTimes(expectedDispatchCalls); - expect(firstDispatchCallArgs).toEqual([{ type: LIST_SHORT_URLS_START }]); - expect(secondDispatchCallArgs).toEqual([{ type: LIST_SHORT_URLS, shortUrls: [], params: {} }]); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(1, { type: LIST_SHORT_URLS_START }); + expect(dispatch).toHaveBeenNthCalledWith(2, { type: LIST_SHORT_URLS, shortUrls: [], params: {} }); expect(apiClientMock.listShortUrls).toHaveBeenCalledTimes(1); }); @@ -100,14 +98,12 @@ describe('shortUrlsListReducer', () => { const apiClientMock = { listShortUrls: jest.fn().mockRejectedValue(), }; - const expectedDispatchCalls = 2; await listShortUrls(() => apiClientMock)()(dispatch, getState); - const [ firstDispatchCallArgs, secondDispatchCallArgs ] = dispatch.mock.calls; - expect(dispatch).toHaveBeenCalledTimes(expectedDispatchCalls); - expect(firstDispatchCallArgs).toEqual([{ type: LIST_SHORT_URLS_START }]); - expect(secondDispatchCallArgs).toEqual([{ type: LIST_SHORT_URLS_ERROR, params: {} }]); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(1, { type: LIST_SHORT_URLS_START }); + expect(dispatch).toHaveBeenNthCalledWith(2, { type: LIST_SHORT_URLS_ERROR, params: {} }); expect(apiClientMock.listShortUrls).toHaveBeenCalledTimes(1); });