summaryrefslogtreecommitdiff
path: root/spec/frontend/members/components/table
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/members/components/table')
-rw-r--r--spec/frontend/members/components/table/expiration_datepicker_spec.js10
-rw-r--r--spec/frontend/members/components/table/members_table_cell_spec.js12
-rw-r--r--spec/frontend/members/components/table/members_table_spec.js32
-rw-r--r--spec/frontend/members/components/table/role_dropdown_spec.js10
4 files changed, 45 insertions, 19 deletions
diff --git a/spec/frontend/members/components/table/expiration_datepicker_spec.js b/spec/frontend/members/components/table/expiration_datepicker_spec.js
index d26172b4ed1..3c4a9ba37ff 100644
--- a/spec/frontend/members/components/table/expiration_datepicker_spec.js
+++ b/spec/frontend/members/components/table/expiration_datepicker_spec.js
@@ -5,6 +5,7 @@ import Vuex from 'vuex';
import { useFakeDate } from 'helpers/fake_date';
import waitForPromises from 'helpers/wait_for_promises';
import ExpirationDatepicker from '~/members/components/table/expiration_datepicker.vue';
+import { MEMBER_TYPES } from '~/members/constants';
import { member } from '../../mock_data';
const localVue = createLocalVue();
@@ -31,7 +32,11 @@ describe('ExpirationDatepicker', () => {
),
};
- return new Vuex.Store({ actions });
+ return new Vuex.Store({
+ modules: {
+ [MEMBER_TYPES.user]: { namespaced: true, actions },
+ },
+ });
};
const createComponent = (propsData = {}) => {
@@ -41,6 +46,9 @@ describe('ExpirationDatepicker', () => {
permissions: { canUpdate: true },
...propsData,
},
+ provide: {
+ namespace: MEMBER_TYPES.user,
+ },
localVue,
store: createStore(),
mocks: {
diff --git a/spec/frontend/members/components/table/members_table_cell_spec.js b/spec/frontend/members/components/table/members_table_cell_spec.js
index b7dcd2a9fae..5375ee11736 100644
--- a/spec/frontend/members/components/table/members_table_cell_spec.js
+++ b/spec/frontend/members/components/table/members_table_cell_spec.js
@@ -42,21 +42,21 @@ describe('MembersTableCell', () => {
const createStore = (state = {}) => {
return new Vuex.Store({
- state: {
- sourceId: 1,
- currentUserId: 1,
- ...state,
- },
+ state,
});
};
let wrapper;
- const createComponent = (propsData, state = {}) => {
+ const createComponent = (propsData, state) => {
wrapper = mount(MembersTableCell, {
localVue,
propsData,
store: createStore(state),
+ provide: {
+ sourceId: 1,
+ currentUserId: 1,
+ },
scopedSlots: {
default: `
<wrapped-component
diff --git a/spec/frontend/members/components/table/members_table_spec.js b/spec/frontend/members/components/table/members_table_spec.js
index cf5811e72e7..5cf1f40a8f4 100644
--- a/spec/frontend/members/components/table/members_table_spec.js
+++ b/spec/frontend/members/components/table/members_table_spec.js
@@ -14,6 +14,7 @@ import MemberAvatar from '~/members/components/table/member_avatar.vue';
import MemberSource from '~/members/components/table/member_source.vue';
import MembersTable from '~/members/components/table/members_table.vue';
import RoleDropdown from '~/members/components/table/role_dropdown.vue';
+import { MEMBER_TYPES } from '~/members/constants';
import * as initUserPopovers from '~/user_popovers';
import { member as memberMock, directMember, invite, accessRequest } from '../../mock_data';
@@ -25,24 +26,33 @@ describe('MembersTable', () => {
const createStore = (state = {}) => {
return new Vuex.Store({
- state: {
- members: [],
- tableFields: [],
- tableAttrs: {
- table: { 'data-qa-selector': 'members_list' },
- tr: { 'data-qa-selector': 'member_row' },
+ modules: {
+ [MEMBER_TYPES.user]: {
+ namespaced: true,
+ state: {
+ members: [],
+ tableFields: [],
+ tableAttrs: {
+ table: { 'data-qa-selector': 'members_list' },
+ tr: { 'data-qa-selector': 'member_row' },
+ },
+ ...state,
+ },
},
- sourceId: 1,
- currentUserId: 1,
- ...state,
},
});
};
- const createComponent = (state) => {
+ const createComponent = (state, provide = {}) => {
wrapper = mount(MembersTable, {
localVue,
store: createStore(state),
+ provide: {
+ sourceId: 1,
+ currentUserId: 1,
+ namespace: MEMBER_TYPES.user,
+ ...provide,
+ },
stubs: [
'member-avatar',
'member-source',
@@ -119,7 +129,7 @@ describe('MembersTable', () => {
describe('when user is not logged in', () => {
it('does not render the "Actions" field', () => {
- createComponent({ currentUserId: null, tableFields: ['actions'] });
+ createComponent({ tableFields: ['actions'] }, { currentUserId: null });
expect(within(wrapper.element).queryByTestId('col-actions')).toBe(null);
});
diff --git a/spec/frontend/members/components/table/role_dropdown_spec.js b/spec/frontend/members/components/table/role_dropdown_spec.js
index aa280599061..c8b6bead450 100644
--- a/spec/frontend/members/components/table/role_dropdown_spec.js
+++ b/spec/frontend/members/components/table/role_dropdown_spec.js
@@ -7,6 +7,7 @@ import Vuex from 'vuex';
import waitForPromises from 'helpers/wait_for_promises';
import { BV_DROPDOWN_SHOW } from '~/lib/utils/constants';
import RoleDropdown from '~/members/components/table/role_dropdown.vue';
+import { MEMBER_TYPES } from '~/members/constants';
import { member } from '../../mock_data';
const localVue = createLocalVue();
@@ -24,11 +25,18 @@ describe('RoleDropdown', () => {
updateMemberRole: jest.fn(() => Promise.resolve()),
};
- return new Vuex.Store({ actions });
+ return new Vuex.Store({
+ modules: {
+ [MEMBER_TYPES.user]: { namespaced: true, actions },
+ },
+ });
};
const createComponent = (propsData = {}) => {
wrapper = mount(RoleDropdown, {
+ provide: {
+ namespace: MEMBER_TYPES.user,
+ },
propsData: {
member,
permissions: {},