summaryrefslogtreecommitdiff
path: root/spec/frontend/boards
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/boards')
-rw-r--r--spec/frontend/boards/board_card_inner_spec.js20
-rw-r--r--spec/frontend/boards/board_list_helper.js7
-rw-r--r--spec/frontend/boards/board_list_spec.js2
-rw-r--r--spec/frontend/boards/components/board_app_spec.js3
-rw-r--r--spec/frontend/boards/components/board_card_spec.js8
-rw-r--r--spec/frontend/boards/components/board_column_spec.js1
-rw-r--r--spec/frontend/boards/components/board_content_sidebar_spec.js6
-rw-r--r--spec/frontend/boards/components/board_content_spec.js3
-rw-r--r--spec/frontend/boards/components/board_filtered_search_spec.js3
-rw-r--r--spec/frontend/boards/components/board_form_spec.js6
-rw-r--r--spec/frontend/boards/components/board_list_header_spec.js2
-rw-r--r--spec/frontend/boards/components/board_new_issue_spec.js11
-rw-r--r--spec/frontend/boards/components/board_top_bar_spec.js1
-rw-r--r--spec/frontend/boards/components/boards_selector_spec.js25
-rw-r--r--spec/frontend/boards/components/issue_board_filtered_search_spec.js2
-rw-r--r--spec/frontend/boards/stores/getters_spec.js36
16 files changed, 50 insertions, 86 deletions
diff --git a/spec/frontend/boards/board_card_inner_spec.js b/spec/frontend/boards/board_card_inner_spec.js
index d05e057095d..2c8e6306431 100644
--- a/spec/frontend/boards/board_card_inner_spec.js
+++ b/spec/frontend/boards/board_card_inner_spec.js
@@ -1,7 +1,7 @@
import { GlLabel, GlLoadingIcon, GlTooltip } from '@gitlab/ui';
import { range } from 'lodash';
+import Vue, { nextTick } from 'vue';
import Vuex from 'vuex';
-import { nextTick } from 'vue';
import setWindowLocation from 'helpers/set_window_location_helper';
import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
import { mountExtended } from 'helpers/vue_test_utils_helper';
@@ -17,6 +17,8 @@ import { mockLabelList, mockIssue, mockIssueFullPath } from './mock_data';
jest.mock('~/lib/utils/url_utility');
jest.mock('~/boards/eventhub');
+Vue.use(Vuex);
+
describe('Board card component', () => {
const user = {
id: 1,
@@ -52,25 +54,19 @@ describe('Board card component', () => {
const performSearchMock = jest.fn();
- const createStore = ({ isProjectBoard = false } = {}) => {
+ const createStore = () => {
store = new Vuex.Store({
- ...defaultStore,
actions: {
performSearch: performSearchMock,
},
state: {
...defaultStore.state,
- issuableType: issuableTypes.issue,
isShowingLabels: true,
},
- getters: {
- isGroupBoard: () => true,
- isProjectBoard: () => isProjectBoard,
- },
});
};
- const createWrapper = ({ props = {}, isEpicBoard = false } = {}) => {
+ const createWrapper = ({ props = {}, isEpicBoard = false, isGroupBoard = true } = {}) => {
wrapper = mountExtended(BoardCardInner, {
store,
propsData: {
@@ -97,6 +93,8 @@ describe('Board card component', () => {
rootPath: '/',
scopedLabelsAvailable: false,
isEpicBoard,
+ issuableType: issuableTypes.issue,
+ isGroupBoard,
},
});
};
@@ -164,8 +162,8 @@ describe('Board card component', () => {
});
it('does not render item reference path', () => {
- createStore({ isProjectBoard: true });
- createWrapper();
+ createStore();
+ createWrapper({ isGroupBoard: false });
expect(wrapper.find('.board-card-number').text()).not.toContain(mockIssueFullPath);
});
diff --git a/spec/frontend/boards/board_list_helper.js b/spec/frontend/boards/board_list_helper.js
index c5c3faf1712..1ba546f24a8 100644
--- a/spec/frontend/boards/board_list_helper.js
+++ b/spec/frontend/boards/board_list_helper.js
@@ -58,8 +58,6 @@ export default function createComponent({
...state,
},
getters: {
- isGroupBoard: () => false,
- isProjectBoard: () => true,
isEpicBoard: () => false,
...getters,
},
@@ -88,7 +86,6 @@ export default function createComponent({
apolloProvider: fakeApollo,
store,
propsData: {
- disabled: false,
list,
boardItems: [issue],
canAdminList: true,
@@ -97,12 +94,16 @@ export default function createComponent({
provide: {
groupId: null,
rootPath: '/',
+ fullPath: 'gitlab-org',
boardId: '1',
weightFeatureAvailable: false,
boardWeight: null,
canAdminList: true,
isIssueBoard: true,
isEpicBoard: false,
+ isGroupBoard: false,
+ isProjectBoard: true,
+ disabled: false,
...provide,
},
stubs,
diff --git a/spec/frontend/boards/board_list_spec.js b/spec/frontend/boards/board_list_spec.js
index 34c0504143c..abe8c230bd8 100644
--- a/spec/frontend/boards/board_list_spec.js
+++ b/spec/frontend/boards/board_list_spec.js
@@ -267,7 +267,7 @@ describe('Board list component', () => {
describe('when dragging is not allowed', () => {
beforeEach(() => {
wrapper = createComponent({
- componentProps: {
+ provide: {
disabled: true,
},
});
diff --git a/spec/frontend/boards/components/board_app_spec.js b/spec/frontend/boards/components/board_app_spec.js
index c209f2f82e6..872a67a71fb 100644
--- a/spec/frontend/boards/components/board_app_spec.js
+++ b/spec/frontend/boards/components/board_app_spec.js
@@ -23,11 +23,10 @@ describe('BoardApp', () => {
});
};
- const createComponent = ({ provide = { disabled: true } } = {}) => {
+ const createComponent = () => {
wrapper = shallowMount(BoardApp, {
store,
provide: {
- ...provide,
fullBoardId: 'gid://gitlab/Board/1',
},
});
diff --git a/spec/frontend/boards/components/board_card_spec.js b/spec/frontend/boards/components/board_card_spec.js
index 38b79e2e3f3..f8ad7c468c1 100644
--- a/spec/frontend/boards/components/board_card_spec.js
+++ b/spec/frontend/boards/components/board_card_spec.js
@@ -29,9 +29,6 @@ describe('Board card', () => {
...initialState,
},
actions: mockActions,
- getters: {
- isProjectBoard: () => false,
- },
});
};
@@ -52,7 +49,6 @@ describe('Board card', () => {
propsData: {
list: mockLabelList,
item,
- disabled: false,
index: 0,
...propsData,
},
@@ -61,6 +57,10 @@ describe('Board card', () => {
rootPath: '/',
scopedLabelsAvailable: false,
isEpicBoard: false,
+ issuableType: 'issue',
+ isProjectBoard: false,
+ isGroupBoard: true,
+ disabled: false,
...provide,
},
});
diff --git a/spec/frontend/boards/components/board_column_spec.js b/spec/frontend/boards/components/board_column_spec.js
index c13f7caba76..d34e228a2d7 100644
--- a/spec/frontend/boards/components/board_column_spec.js
+++ b/spec/frontend/boards/components/board_column_spec.js
@@ -34,7 +34,6 @@ describe('Board Column Component', () => {
wrapper = shallowMount(BoardColumn, {
store,
propsData: {
- disabled: false,
list: listMock,
},
});
diff --git a/spec/frontend/boards/components/board_content_sidebar_spec.js b/spec/frontend/boards/components/board_content_sidebar_spec.js
index 0d5b1d16e30..51c42b48535 100644
--- a/spec/frontend/boards/components/board_content_sidebar_spec.js
+++ b/spec/frontend/boards/components/board_content_sidebar_spec.js
@@ -7,7 +7,7 @@ import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdow
import { stubComponent } from 'helpers/stub_component';
import BoardContentSidebar from '~/boards/components/board_content_sidebar.vue';
import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue';
-import { ISSUABLE } from '~/boards/constants';
+import { ISSUABLE, issuableTypes } from '~/boards/constants';
import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue';
import SidebarSeverity from '~/sidebar/components/severity/sidebar_severity.vue';
import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue';
@@ -26,7 +26,6 @@ describe('BoardContentSidebar', () => {
sidebarType: ISSUABLE,
issues: { [mockIssue.id]: { ...mockIssue, epic: null } },
activeId: mockIssue.id,
- issuableType: 'issue',
},
getters: {
activeBoardItem: () => {
@@ -35,7 +34,6 @@ describe('BoardContentSidebar', () => {
groupPathForActiveIssue: () => mockIssueGroupPath,
projectPathForActiveIssue: () => mockIssueProjectPath,
isSidebarOpen: () => true,
- isGroupBoard: () => false,
...mockGetters,
},
actions: mockActions,
@@ -55,6 +53,8 @@ describe('BoardContentSidebar', () => {
canUpdate: true,
rootPath: '/',
groupId: 1,
+ issuableType: issuableTypes.issue,
+ isGroupBoard: false,
},
store,
stubs: {
diff --git a/spec/frontend/boards/components/board_content_spec.js b/spec/frontend/boards/components/board_content_spec.js
index 82e7ab48e7d..97596c86198 100644
--- a/spec/frontend/boards/components/board_content_spec.js
+++ b/spec/frontend/boards/components/board_content_spec.js
@@ -60,7 +60,6 @@ describe('BoardContent', () => {
wrapper = shallowMount(BoardContent, {
apolloProvider: fakeApollo,
propsData: {
- disabled: false,
boardId: 'gid://gitlab/Board/1',
...props,
},
@@ -71,6 +70,8 @@ describe('BoardContent', () => {
issuableType,
isIssueBoard,
isEpicBoard,
+ isGroupBoard: true,
+ disabled: false,
isApolloBoard,
},
store,
diff --git a/spec/frontend/boards/components/board_filtered_search_spec.js b/spec/frontend/boards/components/board_filtered_search_spec.js
index e80c66f7fb8..4c0cc36889c 100644
--- a/spec/frontend/boards/components/board_filtered_search_spec.js
+++ b/spec/frontend/boards/components/board_filtered_search_spec.js
@@ -139,6 +139,7 @@ describe('BoardFilteredSearch', () => {
{ type: TOKEN_TYPE_ITERATION, value: { data: 'Any&3', operator: '=' } },
{ type: TOKEN_TYPE_RELEASE, value: { data: 'v1.0.0', operator: '=' } },
{ type: TOKEN_TYPE_HEALTH, value: { data: 'onTrack', operator: '=' } },
+ { type: TOKEN_TYPE_HEALTH, value: { data: 'atRisk', operator: '!=' } },
];
jest.spyOn(urlUtility, 'updateHistory');
findFilteredSearch().vm.$emit('onFilter', mockFilters);
@@ -147,7 +148,7 @@ describe('BoardFilteredSearch', () => {
title: '',
replace: true,
url:
- 'http://test.host/?author_username=root&label_name[]=label&label_name[]=label%262&assignee_username=root&milestone_title=New%20Milestone&iteration_id=Any&iteration_cadence_id=3&types=INCIDENT&weight=2&release_tag=v1.0.0&health_status=onTrack',
+ 'http://test.host/?not[health_status]=atRisk&author_username=root&label_name[]=label&label_name[]=label%262&assignee_username=root&milestone_title=New%20Milestone&iteration_id=Any&iteration_cadence_id=3&types=INCIDENT&weight=2&release_tag=v1.0.0&health_status=onTrack',
});
});
diff --git a/spec/frontend/boards/components/board_form_spec.js b/spec/frontend/boards/components/board_form_spec.js
index fdc16b46167..f8154145d43 100644
--- a/spec/frontend/boards/components/board_form_spec.js
+++ b/spec/frontend/boards/components/board_form_spec.js
@@ -53,10 +53,6 @@ describe('BoardForm', () => {
const setErrorMock = jest.fn();
const store = new Vuex.Store({
- getters: {
- isGroupBoard: () => true,
- isProjectBoard: () => false,
- },
actions: {
setBoard: setBoardMock,
setError: setErrorMock,
@@ -73,6 +69,8 @@ describe('BoardForm', () => {
},
provide: {
boardBaseUrl: 'root',
+ isGroupBoard: true,
+ isProjectBoard: false,
},
mocks: {
$apollo: {
diff --git a/spec/frontend/boards/components/board_list_header_spec.js b/spec/frontend/boards/components/board_list_header_spec.js
index 4633612891c..a16b99728c3 100644
--- a/spec/frontend/boards/components/board_list_header_spec.js
+++ b/spec/frontend/boards/components/board_list_header_spec.js
@@ -68,7 +68,6 @@ describe('Board List Header Component', () => {
apolloProvider: fakeApollo,
store,
propsData: {
- disabled: false,
list: listMock,
},
provide: {
@@ -76,6 +75,7 @@ describe('Board List Header Component', () => {
weightFeatureAvailable: false,
currentUserId,
isEpicBoard: false,
+ disabled: false,
},
}),
);
diff --git a/spec/frontend/boards/components/board_new_issue_spec.js b/spec/frontend/boards/components/board_new_issue_spec.js
index f097f42476a..c3e69ba0e40 100644
--- a/spec/frontend/boards/components/board_new_issue_spec.js
+++ b/spec/frontend/boards/components/board_new_issue_spec.js
@@ -14,9 +14,10 @@ const addListNewIssuesSpy = jest.fn().mockResolvedValue();
const mockActions = { addListNewIssue: addListNewIssuesSpy };
const createComponent = ({
- state = { selectedProject: mockGroupProjects[0], fullPath: mockGroupProjects[0].fullPath },
+ state = { selectedProject: mockGroupProjects[0] },
actions = mockActions,
- getters = { isGroupBoard: () => true, getBoardItemsByList: () => () => [] },
+ getters = { getBoardItemsByList: () => () => [] },
+ isGroupBoard = true,
} = {}) =>
shallowMount(BoardNewIssue, {
store: new Vuex.Store({
@@ -29,8 +30,10 @@ const createComponent = ({
},
provide: {
groupId: 1,
+ fullPath: mockGroupProjects[0].fullPath,
weightFeatureAvailable: false,
boardWeight: null,
+ isGroupBoard,
},
stubs: {
BoardNewItem,
@@ -84,9 +87,9 @@ describe('Issue boards new issue form', () => {
beforeEach(() => {
wrapper = createComponent({
getters: {
- isGroupBoard: () => true,
getBoardItemsByList: () => () => [mockIssue, mockIssue2],
},
+ isGroupBoard: true,
});
});
@@ -128,7 +131,7 @@ describe('Issue boards new issue form', () => {
describe('when in project issue board', () => {
beforeEach(() => {
wrapper = createComponent({
- getters: { isGroupBoard: () => false },
+ isGroupBoard: false,
});
});
diff --git a/spec/frontend/boards/components/board_top_bar_spec.js b/spec/frontend/boards/components/board_top_bar_spec.js
index 08b5042f70f..af492145eb0 100644
--- a/spec/frontend/boards/components/board_top_bar_spec.js
+++ b/spec/frontend/boards/components/board_top_bar_spec.js
@@ -33,6 +33,7 @@ describe('BoardTopBar', () => {
boardType: 'group',
releasesFetchPath: '/releases',
isIssueBoard: true,
+ isGroupBoard: true,
...provide,
},
stubs: { IssueBoardFilteredSearch },
diff --git a/spec/frontend/boards/components/boards_selector_spec.js b/spec/frontend/boards/components/boards_selector_spec.js
index f3be66db36f..7b61ca5e6fd 100644
--- a/spec/frontend/boards/components/boards_selector_spec.js
+++ b/spec/frontend/boards/components/boards_selector_spec.js
@@ -10,7 +10,6 @@ import groupBoardsQuery from '~/boards/graphql/group_boards.query.graphql';
import projectBoardsQuery from '~/boards/graphql/project_boards.query.graphql';
import groupRecentBoardsQuery from '~/boards/graphql/group_recent_boards.query.graphql';
import projectRecentBoardsQuery from '~/boards/graphql/project_recent_boards.query.graphql';
-import defaultStore from '~/boards/stores';
import createMockApollo from 'helpers/mock_apollo_helper';
import { mountExtended } from 'helpers/vue_test_utils_helper';
import {
@@ -28,25 +27,20 @@ import {
const throttleDuration = 1;
Vue.use(VueApollo);
+Vue.use(Vuex);
describe('BoardsSelector', () => {
let wrapper;
let fakeApollo;
let store;
- const createStore = ({ isGroupBoard = false, isProjectBoard = false } = {}) => {
+ const createStore = () => {
store = new Vuex.Store({
- ...defaultStore,
actions: {
setError: jest.fn(),
setBoardConfig: jest.fn(),
},
- getters: {
- isGroupBoard: () => isGroupBoard,
- isProjectBoard: () => isProjectBoard,
- },
state: {
- boardType: isGroupBoard ? 'group' : 'project',
board: mockBoard,
},
});
@@ -86,6 +80,8 @@ describe('BoardsSelector', () => {
const createComponent = ({
projectBoardsQueryHandler = projectBoardsQueryHandlerSuccess,
projectRecentBoardsQueryHandler = projectRecentBoardsQueryHandlerSuccess,
+ isGroupBoard = false,
+ isProjectBoard = false,
} = {}) => {
fakeApollo = createMockApollo([
[projectBoardsQuery, projectBoardsQueryHandler],
@@ -109,6 +105,9 @@ describe('BoardsSelector', () => {
multipleIssueBoardsAvailable: true,
scopedIssueBoardFeatureEnabled: true,
weights: [],
+ boardType: isGroupBoard ? 'group' : 'project',
+ isGroupBoard,
+ isProjectBoard,
},
});
};
@@ -120,8 +119,8 @@ describe('BoardsSelector', () => {
describe('template', () => {
beforeEach(() => {
- createStore({ isProjectBoard: true });
- createComponent();
+ createStore();
+ createComponent({ isProjectBoard: true });
});
describe('loading', () => {
@@ -229,11 +228,11 @@ describe('BoardsSelector', () => {
${BoardType.group} | ${groupBoardsQueryHandlerSuccess} | ${projectBoardsQueryHandlerSuccess}
${BoardType.project} | ${projectBoardsQueryHandlerSuccess} | ${groupBoardsQueryHandlerSuccess}
`('fetches $boardType boards', async ({ boardType, queryHandler, notCalledHandler }) => {
- createStore({
- isProjectBoard: boardType === BoardType.project,
+ createStore();
+ createComponent({
isGroupBoard: boardType === BoardType.group,
+ isProjectBoard: boardType === BoardType.project,
});
- createComponent();
await nextTick();
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 513561307cd..57a30ddc512 100644
--- a/spec/frontend/boards/components/issue_board_filtered_search_spec.js
+++ b/spec/frontend/boards/components/issue_board_filtered_search_spec.js
@@ -18,7 +18,7 @@ describe('IssueBoardFilter', () => {
isSignedIn,
releasesFetchPath: '/releases',
fullPath: 'gitlab-org',
- boardType: 'group',
+ isGroupBoard: true,
},
});
};
diff --git a/spec/frontend/boards/stores/getters_spec.js b/spec/frontend/boards/stores/getters_spec.js
index 304f2aad98e..c86a256bd96 100644
--- a/spec/frontend/boards/stores/getters_spec.js
+++ b/spec/frontend/boards/stores/getters_spec.js
@@ -12,42 +12,6 @@ import {
} from '../mock_data';
describe('Boards - Getters', () => {
- describe('isGroupBoard', () => {
- it('returns true when boardType on state is group', () => {
- const state = {
- boardType: 'group',
- };
-
- expect(getters.isGroupBoard(state)).toBe(true);
- });
-
- it('returns false when boardType on state is not group', () => {
- const state = {
- boardType: 'project',
- };
-
- expect(getters.isGroupBoard(state)).toBe(false);
- });
- });
-
- describe('isProjectBoard', () => {
- it('returns true when boardType on state is project', () => {
- const state = {
- boardType: 'project',
- };
-
- expect(getters.isProjectBoard(state)).toBe(true);
- });
-
- it('returns false when boardType on state is not project', () => {
- const state = {
- boardType: 'group',
- };
-
- expect(getters.isProjectBoard(state)).toBe(false);
- });
- });
-
describe('isSidebarOpen', () => {
it('returns true when activeId is not equal to 0', () => {
const state = {