diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-29 06:08:22 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-29 06:08:22 +0300 |
commit | f26311e23466947e3b57914341866aa440e67267 (patch) | |
tree | 5e23f61d79bfb8ef6b8fb745f46d21401b141c04 /spec/frontend/boards/components | |
parent | 2c99b3e0f38bd94ace525f35469dae1eda051c16 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/boards/components')
4 files changed, 95 insertions, 6 deletions
diff --git a/spec/frontend/boards/components/board_form_spec.js b/spec/frontend/boards/components/board_form_spec.js index c976ba7525b..6a659623b53 100644 --- a/spec/frontend/boards/components/board_form_spec.js +++ b/spec/frontend/boards/components/board_form_spec.js @@ -62,7 +62,7 @@ describe('BoardForm', () => { }; }, provide: { - rootPath: 'root', + boardBaseUrl: 'root', }, mocks: { $apollo: { diff --git a/spec/frontend/boards/components/board_top_bar_spec.js b/spec/frontend/boards/components/board_top_bar_spec.js new file mode 100644 index 00000000000..997768a0cc7 --- /dev/null +++ b/spec/frontend/boards/components/board_top_bar_spec.js @@ -0,0 +1,88 @@ +import { shallowMount } from '@vue/test-utils'; +import Vue from 'vue'; +import Vuex from 'vuex'; + +import BoardTopBar from '~/boards/components/board_top_bar.vue'; +import BoardAddNewColumnTrigger from '~/boards/components/board_add_new_column_trigger.vue'; +import BoardsSelector from '~/boards/components/boards_selector.vue'; +import ConfigToggle from '~/boards/components/config_toggle.vue'; +import IssueBoardFilteredSearch from '~/boards/components/issue_board_filtered_search.vue'; +import NewBoardButton from '~/boards/components/new_board_button.vue'; +import ToggleFocus from '~/boards/components/toggle_focus.vue'; + +describe('BoardTopBar', () => { + let wrapper; + + Vue.use(Vuex); + + const createStore = ({ mockGetters = {} } = {}) => { + return new Vuex.Store({ + state: {}, + getters: { + isEpicBoard: () => false, + ...mockGetters, + }, + }); + }; + + const createComponent = ({ provide = {}, mockGetters = {} } = {}) => { + const store = createStore({ mockGetters }); + wrapper = shallowMount(BoardTopBar, { + store, + provide: { + swimlanesFeatureAvailable: false, + canAdminList: false, + isSignedIn: false, + fullPath: 'gitlab-org', + boardType: 'group', + releasesFetchPath: '/releases', + ...provide, + }, + stubs: { IssueBoardFilteredSearch }, + }); + }; + + afterEach(() => { + wrapper.destroy(); + }); + + describe('base template', () => { + beforeEach(() => { + createComponent(); + }); + + it('renders BoardsSelector component', () => { + expect(wrapper.findComponent(BoardsSelector).exists()).toBe(true); + }); + + it('renders IssueBoardFilteredSearch component', () => { + expect(wrapper.findComponent(IssueBoardFilteredSearch).exists()).toBe(true); + }); + + it('renders NewBoardButton component', () => { + expect(wrapper.findComponent(NewBoardButton).exists()).toBe(true); + }); + + it('renders ConfigToggle component', () => { + expect(wrapper.findComponent(ConfigToggle).exists()).toBe(true); + }); + + it('renders ToggleFocus component', () => { + expect(wrapper.findComponent(ToggleFocus).exists()).toBe(true); + }); + + it('does not render BoardAddNewColumnTrigger component', () => { + expect(wrapper.findComponent(BoardAddNewColumnTrigger).exists()).toBe(false); + }); + }); + + describe('when user can admin list', () => { + beforeEach(() => { + createComponent({ provide: { canAdminList: true } }); + }); + + it('renders BoardAddNewColumnTrigger component', () => { + expect(wrapper.findComponent(BoardAddNewColumnTrigger).exists()).toBe(true); + }); + }); +}); diff --git a/spec/frontend/boards/components/boards_selector_spec.js b/spec/frontend/boards/components/boards_selector_spec.js index 0c044deb78c..717216a9882 100644 --- a/spec/frontend/boards/components/boards_selector_spec.js +++ b/spec/frontend/boards/components/boards_selector_spec.js @@ -105,6 +105,10 @@ describe('BoardsSelector', () => { apolloProvider: fakeApollo, propsData: { throttleDuration, + }, + attachTo: document.body, + provide: { + fullPath: '', boardBaseUrl: `${TEST_HOST}/board/base/url`, hasMissingBoards: false, canAdminBoard: true, @@ -112,10 +116,6 @@ describe('BoardsSelector', () => { scopedIssueBoardFeatureEnabled: true, weights: [], }, - attachTo: document.body, - provide: { - fullPath: '', - }, }); }; diff --git a/spec/frontend/boards/components/issue_board_filtered_search_spec.js b/spec/frontend/boards/components/issue_board_filtered_search_spec.js index 76e8b84d8ef..e4a6a2b8b76 100644 --- a/spec/frontend/boards/components/issue_board_filtered_search_spec.js +++ b/spec/frontend/boards/components/issue_board_filtered_search_spec.js @@ -14,10 +14,11 @@ describe('IssueBoardFilter', () => { const createComponent = ({ isSignedIn = false } = {}) => { wrapper = shallowMount(IssueBoardFilteredSpec, { - propsData: { fullPath: 'gitlab-org', boardType: 'group' }, provide: { isSignedIn, releasesFetchPath: '/releases', + fullPath: 'gitlab-org', + boardType: 'group', }, }); }; |