Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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.js27
1 files changed, 25 insertions, 2 deletions
diff --git a/spec/frontend/lib/utils/users_cache_spec.js b/spec/frontend/lib/utils/users_cache_spec.js
index d35ba20f570..5a55874b5fa 100644
--- a/spec/frontend/lib/utils/users_cache_spec.js
+++ b/spec/frontend/lib/utils/users_cache_spec.js
@@ -154,8 +154,8 @@ describe('UsersCache', () => {
};
const user = await UsersCache.retrieveById(dummyUserId);
- expect(user).toBe(dummyUser);
- expect(UsersCache.internalStorage[dummyUserId]).toBe(dummyUser);
+ expect(user).toEqual(dummyUser);
+ expect(UsersCache.internalStorage[dummyUserId]).toEqual(dummyUser);
});
it('returns undefined if Ajax call fails and cache is empty', async () => {
@@ -180,6 +180,29 @@ describe('UsersCache', () => {
const user = await UsersCache.retrieveById(dummyUserId);
expect(user).toBe(dummyUser);
});
+
+ it('does not clobber existing cached values', async () => {
+ UsersCache.internalStorage[dummyUserId] = {
+ status: dummyUserStatus,
+ };
+
+ apiSpy = (id) => {
+ expect(id).toBe(dummyUserId);
+
+ return Promise.resolve({
+ data: dummyUser,
+ });
+ };
+
+ const user = await UsersCache.retrieveById(dummyUserId);
+ const expectedUser = {
+ status: dummyUserStatus,
+ ...dummyUser,
+ };
+
+ expect(user).toEqual(expectedUser);
+ expect(UsersCache.internalStorage[dummyUserId]).toEqual(expectedUser);
+ });
});
describe('retrieveStatusById', () => {