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/invite_members/components/group_select_spec.js')
-rw-r--r--spec/frontend/invite_members/components/group_select_spec.js30
1 files changed, 26 insertions, 4 deletions
diff --git a/spec/frontend/invite_members/components/group_select_spec.js b/spec/frontend/invite_members/components/group_select_spec.js
index 2ef8fe07650..192f3fdd381 100644
--- a/spec/frontend/invite_members/components/group_select_spec.js
+++ b/spec/frontend/invite_members/components/group_select_spec.js
@@ -4,14 +4,21 @@ import waitForPromises from 'helpers/wait_for_promises';
import * as groupsApi from '~/api/groups_api';
import GroupSelect from '~/invite_members/components/group_select.vue';
-const createComponent = () => {
- return mount(GroupSelect, {});
-};
-
+const accessLevels = { Guest: 10, Reporter: 20, Developer: 30, Maintainer: 40, Owner: 50 };
const group1 = { id: 1, full_name: 'Group One', avatar_url: 'test' };
const group2 = { id: 2, full_name: 'Group Two', avatar_url: 'test' };
const allGroups = [group1, group2];
+const createComponent = (props = {}) => {
+ return mount(GroupSelect, {
+ propsData: {
+ invalidGroups: [],
+ accessLevels,
+ ...props,
+ },
+ });
+};
+
describe('GroupSelect', () => {
let wrapper;
@@ -61,6 +68,7 @@ describe('GroupSelect', () => {
expect(groupsApi.getGroups).toHaveBeenCalledWith(group1.name, {
active: true,
exclude_internal: true,
+ min_access_level: accessLevels.Guest,
});
});
@@ -83,6 +91,20 @@ describe('GroupSelect', () => {
size: '32',
});
});
+
+ describe('when filtering out the group from results', () => {
+ beforeEach(() => {
+ wrapper = createComponent({ invalidGroups: [group1.id] });
+ });
+
+ it('does not find an invalid group', () => {
+ expect(findAvatarByLabel(group1.full_name)).toBe(undefined);
+ });
+
+ it('finds a group that is valid', () => {
+ expect(findAvatarByLabel(group2.full_name).exists()).toBe(true);
+ });
+ });
});
describe('when group is selected from the dropdown', () => {