diff options
Diffstat (limited to 'spec/frontend/frequent_items/components/app_spec.js')
-rw-r--r-- | spec/frontend/frequent_items/components/app_spec.js | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/spec/frontend/frequent_items/components/app_spec.js b/spec/frontend/frequent_items/components/app_spec.js index b74e4ac45cf..80059c4c87f 100644 --- a/spec/frontend/frequent_items/components/app_spec.js +++ b/spec/frontend/frequent_items/components/app_spec.js @@ -1,15 +1,16 @@ import MockAdapter from 'axios-mock-adapter'; import Vue from 'vue'; -import { mountComponentWithStore } from 'helpers/vue_mount_component_helper'; +import { useRealDate } from 'helpers/fake_date'; import { useLocalStorageSpy } from 'helpers/local_storage_helper'; +import { mountComponentWithStore } from 'helpers/vue_mount_component_helper'; import waitForPromises from 'helpers/wait_for_promises'; -import axios from '~/lib/utils/axios_utils'; import appComponent from '~/frequent_items/components/app.vue'; -import eventHub from '~/frequent_items/event_hub'; import { FREQUENT_ITEMS, HOUR_IN_MS } from '~/frequent_items/constants'; +import eventHub from '~/frequent_items/event_hub'; +import { createStore } from '~/frequent_items/store'; import { getTopFrequentItems } from '~/frequent_items/utils'; +import axios from '~/lib/utils/axios_utils'; import { currentSession, mockFrequentProjects, mockSearchedProjects } from '../mock_data'; -import { createStore } from '~/frequent_items/store'; useLocalStorageSpy(); @@ -93,23 +94,27 @@ describe('Frequent Items App Component', () => { expect(projects.length).toBe(1); }); - it('should increase frequency of report if it was logged multiple times over the course of an hour', () => { - let projects; - const newTimestamp = Date.now() + HOUR_IN_MS + 1; + describe('with real date', () => { + useRealDate(); - vm.logItemAccess(session.storageKey, session.project); - projects = JSON.parse(storage[session.storageKey]); + it('should increase frequency of report if it was logged multiple times over the course of an hour', () => { + let projects; + const newTimestamp = Date.now() + HOUR_IN_MS + 1; - expect(projects[0].frequency).toBe(1); + vm.logItemAccess(session.storageKey, session.project); + projects = JSON.parse(storage[session.storageKey]); - vm.logItemAccess(session.storageKey, { - ...session.project, - lastAccessedOn: newTimestamp, - }); - projects = JSON.parse(storage[session.storageKey]); + expect(projects[0].frequency).toBe(1); + + vm.logItemAccess(session.storageKey, { + ...session.project, + lastAccessedOn: newTimestamp, + }); + projects = JSON.parse(storage[session.storageKey]); - expect(projects[0].frequency).toBe(2); - expect(projects[0].lastAccessedOn).not.toBe(session.project.lastAccessedOn); + expect(projects[0].frequency).toBe(2); + expect(projects[0].lastAccessedOn).not.toBe(session.project.lastAccessedOn); + }); }); it('should always update project metadata', () => { |