Commit cd0f9aa5 authored by Kushal Pandya's avatar Kushal Pandya

Merge branch 'fix-vsa-filter-bar-fetch-parent-group-members' into 'master'

Fix filter bar member request for subgroups

See merge request gitlab-org/gitlab!36303
parents 31c06148 4f8e5530
...@@ -9,6 +9,9 @@ export const hasNoAccessError = state => state.errorCode === httpStatus.FORBIDDE ...@@ -9,6 +9,9 @@ export const hasNoAccessError = state => state.errorCode === httpStatus.FORBIDDE
export const currentGroupPath = ({ selectedGroup }) => export const currentGroupPath = ({ selectedGroup }) =>
selectedGroup && selectedGroup.fullPath ? selectedGroup.fullPath : null; selectedGroup && selectedGroup.fullPath ? selectedGroup.fullPath : null;
export const currentGroupParentPath = ({ selectedGroup }, getters) =>
selectedGroup?.parentId || getters.currentGroupPath;
export const selectedProjectIds = ({ selectedProjects }) => export const selectedProjectIds = ({ selectedProjects }) =>
selectedProjects.length ? selectedProjects.map(({ id }) => id) : []; selectedProjects.length ? selectedProjects.map(({ id }) => id) : [];
......
...@@ -55,22 +55,22 @@ const fetchUser = ({ commit, endpoint, query, action, errorMessage }) => { ...@@ -55,22 +55,22 @@ const fetchUser = ({ commit, endpoint, query, action, errorMessage }) => {
}; };
export const fetchAuthors = ({ commit, rootGetters }, query = '') => { export const fetchAuthors = ({ commit, rootGetters }, query = '') => {
const { currentGroupPath } = rootGetters; const { currentGroupParentPath } = rootGetters;
return fetchUser({ return fetchUser({
commit, commit,
query, query,
endpoint: currentGroupPath, endpoint: currentGroupParentPath,
action: 'AUTHORS', action: 'AUTHORS',
errorMessage: __('Failed to load authors. Please try again.'), errorMessage: __('Failed to load authors. Please try again.'),
}); });
}; };
export const fetchAssignees = ({ commit, rootGetters }, query = '') => { export const fetchAssignees = ({ commit, rootGetters }, query = '') => {
const { currentGroupPath } = rootGetters; const { currentGroupParentPath } = rootGetters;
return fetchUser({ return fetchUser({
commit, commit,
query, query,
endpoint: currentGroupPath, endpoint: currentGroupParentPath,
action: 'ASSIGNEES', action: 'ASSIGNEES',
errorMessage: __('Failed to load assignees. Please try again.'), errorMessage: __('Failed to load assignees. Please try again.'),
}); });
......
...@@ -63,13 +63,49 @@ describe('Cycle analytics getters', () => { ...@@ -63,13 +63,49 @@ describe('Cycle analytics getters', () => {
}); });
describe('without a selectedGroup set', () => { describe('without a selectedGroup set', () => {
it.each([[''], [{}], [null]])('given %s will return null', value => { it.each([[''], [{}], [null]])('given "%s" will return null', value => {
state = { selectedGroup: value }; state = { selectedGroup: value };
expect(getters.currentGroupPath(state)).toEqual(null); expect(getters.currentGroupPath(state)).toEqual(null);
}); });
}); });
}); });
describe('currentGroupParentPath', () => {
const fullPath = 'cool-beans';
const parentId = 'subgroup/parent/id';
describe('with a subgroup', () => {
it('returns the parentId value of the sub group', () => {
state = {
selectedGroup: {
fullPath,
parentId,
},
};
expect(getters.currentGroupParentPath(state)).toEqual(parentId);
});
});
describe('with a parent group', () => {
it('returns the fullPath value of the group', () => {
const res = getters.currentGroupParentPath(
{
selectedGroup: {
fullPath,
},
},
{
...getters,
currentGroupPath: fullPath,
},
);
expect(res).toEqual(fullPath);
});
});
});
describe('cycleAnalyticsRequestParams', () => { describe('cycleAnalyticsRequestParams', () => {
const selectedAuthor = 'Gohan'; const selectedAuthor = 'Gohan';
const selectedMilestone = 'SSJ4'; const selectedMilestone = 'SSJ4';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment