diff options
Diffstat (limited to 'spec/frontend/monitoring/components/refresh_button_spec.js')
-rw-r--r-- | spec/frontend/monitoring/components/refresh_button_spec.js | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/spec/frontend/monitoring/components/refresh_button_spec.js b/spec/frontend/monitoring/components/refresh_button_spec.js index 29615638453..a9b8295f38e 100644 --- a/spec/frontend/monitoring/components/refresh_button_spec.js +++ b/spec/frontend/monitoring/components/refresh_button_spec.js @@ -1,7 +1,7 @@ import { shallowMount } from '@vue/test-utils'; -import { createStore } from '~/monitoring/stores'; +import Visibility from 'visibilityjs'; import { GlNewDropdown, GlNewDropdownItem, GlButton } from '@gitlab/ui'; - +import { createStore } from '~/monitoring/stores'; import RefreshButton from '~/monitoring/components/refresh_button.vue'; describe('RefreshButton', () => { @@ -10,8 +10,8 @@ describe('RefreshButton', () => { let dispatch; let documentHidden; - const createWrapper = () => { - wrapper = shallowMount(RefreshButton, { store }); + const createWrapper = (options = {}) => { + wrapper = shallowMount(RefreshButton, { store, ...options }); }; const findRefreshBtn = () => wrapper.find(GlButton); @@ -31,14 +31,8 @@ describe('RefreshButton', () => { jest.spyOn(store, 'dispatch').mockResolvedValue(); dispatch = store.dispatch; - // Document can be mock hidden by overriding the `hidden` property documentHidden = false; - Object.defineProperty(document, 'hidden', { - configurable: true, - get() { - return documentHidden; - }, - }); + jest.spyOn(Visibility, 'hidden').mockImplementation(() => documentHidden); createWrapper(); }); @@ -57,6 +51,20 @@ describe('RefreshButton', () => { expect(findDropdown().props('text')).toBe('Off'); }); + describe('when feature flag disable_metric_dashboard_refresh_rate is on', () => { + beforeEach(() => { + createWrapper({ + provide: { + glFeatures: { disableMetricDashboardRefreshRate: true }, + }, + }); + }); + + it('refresh rate is not available', () => { + expect(findDropdown().exists()).toBe(false); + }); + }); + describe('refresh rate options', () => { it('presents multiple options', () => { expect(findOptions().length).toBeGreaterThan(1); |