diff options
Diffstat (limited to 'spec/frontend/lib/utils/users_cache_spec.js')
-rw-r--r-- | spec/frontend/lib/utils/users_cache_spec.js | 108 |
1 files changed, 36 insertions, 72 deletions
diff --git a/spec/frontend/lib/utils/users_cache_spec.js b/spec/frontend/lib/utils/users_cache_spec.js index 4034f39ee9c..30bdddd8e73 100644 --- a/spec/frontend/lib/utils/users_cache_spec.js +++ b/spec/frontend/lib/utils/users_cache_spec.js @@ -93,7 +93,7 @@ describe('UsersCache', () => { .mockImplementation((query, options) => apiSpy(query, options)); }); - it('stores and returns data from API call if cache is empty', (done) => { + it('stores and returns data from API call if cache is empty', async () => { apiSpy = (query, options) => { expect(query).toBe(''); expect(options).toEqual({ @@ -105,16 +105,12 @@ describe('UsersCache', () => { }); }; - UsersCache.retrieve(dummyUsername) - .then((user) => { - expect(user).toBe(dummyUser); - expect(UsersCache.internalStorage[dummyUsername]).toBe(dummyUser); - }) - .then(done) - .catch(done.fail); + const user = await UsersCache.retrieve(dummyUsername); + expect(user).toBe(dummyUser); + expect(UsersCache.internalStorage[dummyUsername]).toBe(dummyUser); }); - it('returns undefined if Ajax call fails and cache is empty', (done) => { + it('returns undefined if Ajax call fails and cache is empty', async () => { const dummyError = new Error('server exploded'); apiSpy = (query, options) => { @@ -126,26 +122,18 @@ describe('UsersCache', () => { return Promise.reject(dummyError); }; - UsersCache.retrieve(dummyUsername) - .then((user) => done.fail(`Received unexpected user: ${JSON.stringify(user)}`)) - .catch((error) => { - expect(error).toBe(dummyError); - }) - .then(done) - .catch(done.fail); + await expect(UsersCache.retrieve(dummyUsername)).rejects.toEqual(dummyError); }); - it('makes no Ajax call if matching data exists', (done) => { + it('makes no Ajax call if matching data exists', async () => { UsersCache.internalStorage[dummyUsername] = dummyUser; - apiSpy = () => done.fail(new Error('expected no Ajax call!')); + apiSpy = () => { + throw new Error('expected no Ajax call!'); + }; - UsersCache.retrieve(dummyUsername) - .then((user) => { - expect(user).toBe(dummyUser); - }) - .then(done) - .catch(done.fail); + const user = await UsersCache.retrieve(dummyUsername); + expect(user).toBe(dummyUser); }); }); @@ -156,7 +144,7 @@ describe('UsersCache', () => { jest.spyOn(UserApi, 'getUser').mockImplementation((id) => apiSpy(id)); }); - it('stores and returns data from API call if cache is empty', (done) => { + it('stores and returns data from API call if cache is empty', async () => { apiSpy = (id) => { expect(id).toBe(dummyUserId); @@ -165,16 +153,12 @@ describe('UsersCache', () => { }); }; - UsersCache.retrieveById(dummyUserId) - .then((user) => { - expect(user).toBe(dummyUser); - expect(UsersCache.internalStorage[dummyUserId]).toBe(dummyUser); - }) - .then(done) - .catch(done.fail); + const user = await UsersCache.retrieveById(dummyUserId); + expect(user).toBe(dummyUser); + expect(UsersCache.internalStorage[dummyUserId]).toBe(dummyUser); }); - it('returns undefined if Ajax call fails and cache is empty', (done) => { + it('returns undefined if Ajax call fails and cache is empty', async () => { const dummyError = new Error('server exploded'); apiSpy = (id) => { @@ -183,26 +167,18 @@ describe('UsersCache', () => { return Promise.reject(dummyError); }; - UsersCache.retrieveById(dummyUserId) - .then((user) => done.fail(`Received unexpected user: ${JSON.stringify(user)}`)) - .catch((error) => { - expect(error).toBe(dummyError); - }) - .then(done) - .catch(done.fail); + await expect(UsersCache.retrieveById(dummyUserId)).rejects.toEqual(dummyError); }); - it('makes no Ajax call if matching data exists', (done) => { + it('makes no Ajax call if matching data exists', async () => { UsersCache.internalStorage[dummyUserId] = dummyUser; - apiSpy = () => done.fail(new Error('expected no Ajax call!')); + apiSpy = () => { + throw new Error('expected no Ajax call!'); + }; - UsersCache.retrieveById(dummyUserId) - .then((user) => { - expect(user).toBe(dummyUser); - }) - .then(done) - .catch(done.fail); + const user = await UsersCache.retrieveById(dummyUserId); + expect(user).toBe(dummyUser); }); }); @@ -213,7 +189,7 @@ describe('UsersCache', () => { jest.spyOn(UserApi, 'getUserStatus').mockImplementation((id) => apiSpy(id)); }); - it('stores and returns data from API call if cache is empty', (done) => { + it('stores and returns data from API call if cache is empty', async () => { apiSpy = (id) => { expect(id).toBe(dummyUserId); @@ -222,16 +198,12 @@ describe('UsersCache', () => { }); }; - UsersCache.retrieveStatusById(dummyUserId) - .then((userStatus) => { - expect(userStatus).toBe(dummyUserStatus); - expect(UsersCache.internalStorage[dummyUserId].status).toBe(dummyUserStatus); - }) - .then(done) - .catch(done.fail); + const userStatus = await UsersCache.retrieveStatusById(dummyUserId); + expect(userStatus).toBe(dummyUserStatus); + expect(UsersCache.internalStorage[dummyUserId].status).toBe(dummyUserStatus); }); - it('returns undefined if Ajax call fails and cache is empty', (done) => { + it('returns undefined if Ajax call fails and cache is empty', async () => { const dummyError = new Error('server exploded'); apiSpy = (id) => { @@ -240,28 +212,20 @@ describe('UsersCache', () => { return Promise.reject(dummyError); }; - UsersCache.retrieveStatusById(dummyUserId) - .then((userStatus) => done.fail(`Received unexpected user: ${JSON.stringify(userStatus)}`)) - .catch((error) => { - expect(error).toBe(dummyError); - }) - .then(done) - .catch(done.fail); + await expect(UsersCache.retrieveStatusById(dummyUserId)).rejects.toEqual(dummyError); }); - it('makes no Ajax call if matching data exists', (done) => { + it('makes no Ajax call if matching data exists', async () => { UsersCache.internalStorage[dummyUserId] = { status: dummyUserStatus, }; - apiSpy = () => done.fail(new Error('expected no Ajax call!')); + apiSpy = () => { + throw new Error('expected no Ajax call!'); + }; - UsersCache.retrieveStatusById(dummyUserId) - .then((userStatus) => { - expect(userStatus).toBe(dummyUserStatus); - }) - .then(done) - .catch(done.fail); + const userStatus = await UsersCache.retrieveStatusById(dummyUserId); + expect(userStatus).toBe(dummyUserStatus); }); }); }); |