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/deploy_freeze/components')
-rw-r--r--spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js11
-rw-r--r--spec/frontend/deploy_freeze/components/deploy_freeze_settings_spec.js2
-rw-r--r--spec/frontend/deploy_freeze/components/deploy_freeze_table_spec.js3
-rw-r--r--spec/frontend/deploy_freeze/components/timezone_dropdown_spec.js102
4 files changed, 9 insertions, 109 deletions
diff --git a/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js b/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js
index bbafdc000db..113e0d8f60d 100644
--- a/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js
+++ b/spec/frontend/deploy_freeze/components/deploy_freeze_modal_spec.js
@@ -5,8 +5,9 @@ import Vuex from 'vuex';
import Api from '~/api';
import DeployFreezeModal from '~/deploy_freeze/components/deploy_freeze_modal.vue';
import createStore from '~/deploy_freeze/store';
-import TimezoneDropdown from '~/vue_shared/components/timezone_dropdown.vue';
-import { freezePeriodsFixture, timezoneDataFixture } from '../helpers';
+import TimezoneDropdown from '~/vue_shared/components/timezone_dropdown/timezone_dropdown.vue';
+import { freezePeriodsFixture } from '../helpers';
+import { timezoneDataFixture } from '../../vue_shared/components/timezone_dropdown/helpers';
jest.mock('~/api');
@@ -52,7 +53,7 @@ describe('Deploy freeze modal', () => {
describe('Basic interactions', () => {
it('button is disabled when freeze period is invalid', () => {
- expect(submitDeployFreezeButton().attributes('disabled')).toBeTruthy();
+ expect(submitDeployFreezeButton().attributes('disabled')).toBe('true');
});
});
@@ -92,7 +93,7 @@ describe('Deploy freeze modal', () => {
});
it('disables the add deploy freeze button', () => {
- expect(submitDeployFreezeButton().attributes('disabled')).toBeTruthy();
+ expect(submitDeployFreezeButton().attributes('disabled')).toBe('true');
});
});
@@ -103,7 +104,7 @@ describe('Deploy freeze modal', () => {
});
it('does not disable the submit button', () => {
- expect(submitDeployFreezeButton().attributes('disabled')).toBeFalsy();
+ expect(submitDeployFreezeButton().attributes('disabled')).toBeUndefined();
});
});
});
diff --git a/spec/frontend/deploy_freeze/components/deploy_freeze_settings_spec.js b/spec/frontend/deploy_freeze/components/deploy_freeze_settings_spec.js
index 637efe30022..27d8fea9d5e 100644
--- a/spec/frontend/deploy_freeze/components/deploy_freeze_settings_spec.js
+++ b/spec/frontend/deploy_freeze/components/deploy_freeze_settings_spec.js
@@ -5,7 +5,7 @@ import DeployFreezeModal from '~/deploy_freeze/components/deploy_freeze_modal.vu
import DeployFreezeSettings from '~/deploy_freeze/components/deploy_freeze_settings.vue';
import DeployFreezeTable from '~/deploy_freeze/components/deploy_freeze_table.vue';
import createStore from '~/deploy_freeze/store';
-import { timezoneDataFixture } from '../helpers';
+import { timezoneDataFixture } from '../../vue_shared/components/timezone_dropdown/helpers';
Vue.use(Vuex);
diff --git a/spec/frontend/deploy_freeze/components/deploy_freeze_table_spec.js b/spec/frontend/deploy_freeze/components/deploy_freeze_table_spec.js
index 137776edfab..c2d6eb399bc 100644
--- a/spec/frontend/deploy_freeze/components/deploy_freeze_table_spec.js
+++ b/spec/frontend/deploy_freeze/components/deploy_freeze_table_spec.js
@@ -5,7 +5,8 @@ import Vuex from 'vuex';
import DeployFreezeTable from '~/deploy_freeze/components/deploy_freeze_table.vue';
import createStore from '~/deploy_freeze/store';
import { RECEIVE_FREEZE_PERIODS_SUCCESS } from '~/deploy_freeze/store/mutation_types';
-import { freezePeriodsFixture, timezoneDataFixture } from '../helpers';
+import { freezePeriodsFixture } from '../helpers';
+import { timezoneDataFixture } from '../../vue_shared/components/timezone_dropdown/helpers';
Vue.use(Vuex);
diff --git a/spec/frontend/deploy_freeze/components/timezone_dropdown_spec.js b/spec/frontend/deploy_freeze/components/timezone_dropdown_spec.js
deleted file mode 100644
index 567d18f8b92..00000000000
--- a/spec/frontend/deploy_freeze/components/timezone_dropdown_spec.js
+++ /dev/null
@@ -1,102 +0,0 @@
-import { GlDropdownItem, GlDropdown } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import Vue from 'vue';
-import Vuex from 'vuex';
-import createStore from '~/deploy_freeze/store';
-import TimezoneDropdown from '~/vue_shared/components/timezone_dropdown.vue';
-import { findTzByName, formatTz, timezoneDataFixture } from '../helpers';
-
-Vue.use(Vuex);
-
-describe('Deploy freeze timezone dropdown', () => {
- let wrapper;
- let store;
-
- const createComponent = (searchTerm, selectedTimezone) => {
- store = createStore({
- projectId: '8',
- timezoneData: timezoneDataFixture,
- });
- wrapper = shallowMount(TimezoneDropdown, {
- store,
- propsData: {
- value: selectedTimezone,
- timezoneData: timezoneDataFixture,
- },
- });
-
- // setData usage is discouraged. See https://gitlab.com/groups/gitlab-org/-/epics/7330 for details
- // eslint-disable-next-line no-restricted-syntax
- wrapper.setData({ searchTerm });
- };
-
- const findAllDropdownItems = () => wrapper.findAllComponents(GlDropdownItem);
- const findDropdownItemByIndex = (index) => wrapper.findAllComponents(GlDropdownItem).at(index);
-
- afterEach(() => {
- wrapper.destroy();
- wrapper = null;
- });
-
- describe('No time zones found', () => {
- beforeEach(() => {
- createComponent('UTC timezone');
- });
-
- it('renders empty results message', () => {
- expect(findDropdownItemByIndex(0).text()).toBe('No matching results');
- });
- });
-
- describe('Search term is empty', () => {
- beforeEach(() => {
- createComponent('');
- });
-
- it('renders all timezones when search term is empty', () => {
- expect(findAllDropdownItems()).toHaveLength(timezoneDataFixture.length);
- });
- });
-
- describe('Time zones found', () => {
- beforeEach(() => {
- createComponent('Alaska');
- });
-
- it('renders only the time zone searched for', () => {
- const selectedTz = findTzByName('Alaska');
- expect(findAllDropdownItems()).toHaveLength(1);
- expect(findDropdownItemByIndex(0).text()).toBe(formatTz(selectedTz));
- });
-
- it('should not display empty results message', () => {
- expect(wrapper.find('[data-testid="noMatchingResults"]').exists()).toBe(false);
- });
-
- describe('Custom events', () => {
- const selectedTz = findTzByName('Alaska');
-
- it('should emit input if a time zone is clicked', () => {
- findDropdownItemByIndex(0).vm.$emit('click');
- expect(wrapper.emitted('input')).toEqual([
- [
- {
- formattedTimezone: formatTz(selectedTz),
- identifier: selectedTz.identifier,
- },
- ],
- ]);
- });
- });
- });
-
- describe('Selected time zone', () => {
- beforeEach(() => {
- createComponent('', 'Alaska');
- });
-
- it('renders selected time zone as dropdown label', () => {
- expect(wrapper.findComponent(GlDropdown).vm.text).toBe('Alaska');
- });
- });
-});