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:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-08-11 21:10:52 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-11 21:10:52 +0300
commitb54cbe2c737b3672737bb7cd1919a030cd75484c (patch)
tree384887bc2d0d894b53ab27f8d9f9296ad534e9b0 /spec/frontend/members
parent4f54ec92edd344449ee005fd4dd727fa2e3e3ffd (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/members')
-rw-r--r--spec/frontend/members/components/members_tabs_spec.js27
1 files changed, 23 insertions, 4 deletions
diff --git a/spec/frontend/members/components/members_tabs_spec.js b/spec/frontend/members/components/members_tabs_spec.js
index 68f25bcb619..1d882e5ef09 100644
--- a/spec/frontend/members/components/members_tabs_spec.js
+++ b/spec/frontend/members/components/members_tabs_spec.js
@@ -1,4 +1,4 @@
-import { GlTabs } from '@gitlab/ui';
+import { GlTabs, GlButton } from '@gitlab/ui';
import Vue, { nextTick } from 'vue';
import Vuex from 'vuex';
import setWindowLocation from 'helpers/set_window_location_helper';
@@ -17,7 +17,7 @@ describe('MembersTabs', () => {
let wrapper;
- const createComponent = ({ totalItems = 10, options = {} } = {}) => {
+ const createComponent = ({ totalItems = 10, provide = {} } = {}) => {
const store = new Vuex.Store({
modules: {
[MEMBER_TYPES.user]: {
@@ -79,8 +79,10 @@ describe('MembersTabs', () => {
stubs: ['members-app'],
provide: {
canManageMembers: true,
+ canExportMembers: true,
+ exportCsvPath: '',
+ ...provide,
},
- ...options,
});
return nextTick();
@@ -89,6 +91,7 @@ describe('MembersTabs', () => {
const findTabs = () => wrapper.findAllByRole('tab').wrappers;
const findTabByText = (text) => findTabs().find((tab) => tab.text().includes(text));
const findActiveTab = () => wrapper.findByRole('tab', { selected: true });
+ const findExportButton = () => wrapper.findComponent(GlButton);
beforeEach(() => {
setWindowLocation('https://localhost');
@@ -164,7 +167,7 @@ describe('MembersTabs', () => {
describe('when `canManageMembers` is `false`', () => {
it('shows all tabs except `Invited` and `Access requests`', async () => {
- await createComponent({ options: { provide: { canManageMembers: false } } });
+ await createComponent({ provide: { canManageMembers: false } });
expect(findTabByText('Members')).not.toBeUndefined();
expect(findTabByText('Groups')).not.toBeUndefined();
@@ -172,4 +175,20 @@ describe('MembersTabs', () => {
expect(findTabByText('Access requests')).toBeUndefined();
});
});
+
+ describe('when `canExportMembers` is true', () => {
+ it('shows the CSV export button with export path', async () => {
+ await createComponent({ provide: { canExportMembers: true, exportCsvPath: 'foo' } });
+
+ expect(findExportButton().attributes('href')).toBe('foo');
+ });
+ });
+
+ describe('when `canExportMembers` is false', () => {
+ it('does not show the CSV export button', async () => {
+ await createComponent({ provide: { canExportMembers: false } });
+
+ expect(findExportButton().exists()).toBe(false);
+ });
+ });
});