summaryrefslogtreecommitdiff
path: root/spec/frontend/lib/utils/users_cache_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/lib/utils/users_cache_spec.js')
-rw-r--r--spec/frontend/lib/utils/users_cache_spec.js108
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);
});
});
});