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>2020-11-19 15:09:26 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-11-19 15:09:26 +0300
commitfa6c2426a5beed14dd7cfd0b4c493ff7ec886837 (patch)
tree58238851ff949fafbc162e03610602df8c0924a2 /spec/frontend/vue_shared/components/members/table/member_table_cell_spec.js
parent38de2aa494589f6e250a1b11862cbab83c2ae4d1 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components/members/table/member_table_cell_spec.js')
-rw-r--r--spec/frontend/vue_shared/components/members/table/member_table_cell_spec.js251
1 files changed, 0 insertions, 251 deletions
diff --git a/spec/frontend/vue_shared/components/members/table/member_table_cell_spec.js b/spec/frontend/vue_shared/components/members/table/member_table_cell_spec.js
deleted file mode 100644
index ba693975a88..00000000000
--- a/spec/frontend/vue_shared/components/members/table/member_table_cell_spec.js
+++ /dev/null
@@ -1,251 +0,0 @@
-import { mount, createLocalVue } from '@vue/test-utils';
-import Vuex from 'vuex';
-import { MEMBER_TYPES } from '~/vue_shared/components/members/constants';
-import { member as memberMock, group, invite, accessRequest } from '../mock_data';
-import MembersTableCell from '~/vue_shared/components/members/table/members_table_cell.vue';
-
-describe('MemberList', () => {
- const WrappedComponent = {
- props: {
- memberType: {
- type: String,
- required: true,
- },
- isDirectMember: {
- type: Boolean,
- required: true,
- },
- isCurrentUser: {
- type: Boolean,
- required: true,
- },
- permissions: {
- type: Object,
- required: true,
- },
- },
- render(createElement) {
- return createElement('div', this.memberType);
- },
- };
-
- const localVue = createLocalVue();
- localVue.use(Vuex);
- localVue.component('wrapped-component', WrappedComponent);
-
- const createStore = (state = {}) => {
- return new Vuex.Store({
- state: {
- sourceId: 1,
- currentUserId: 1,
- ...state,
- },
- });
- };
-
- let wrapper;
-
- const createComponent = (propsData, state = {}) => {
- wrapper = mount(MembersTableCell, {
- localVue,
- propsData,
- store: createStore(state),
- scopedSlots: {
- default: `
- <wrapped-component
- :member-type="props.memberType"
- :is-direct-member="props.isDirectMember"
- :is-current-user="props.isCurrentUser"
- :permissions="props.permissions"
- />
- `,
- },
- });
- };
-
- const findWrappedComponent = () => wrapper.find(WrappedComponent);
-
- const memberCurrentUser = {
- ...memberMock,
- user: {
- ...memberMock.user,
- id: 1,
- },
- };
-
- const createComponentWithDirectMember = (member = {}) => {
- createComponent({
- member: {
- ...memberMock,
- source: {
- ...memberMock.source,
- id: 1,
- },
- ...member,
- },
- });
- };
- const createComponentWithInheritedMember = (member = {}) => {
- createComponent({
- member: { ...memberMock, ...member },
- });
- };
-
- afterEach(() => {
- wrapper.destroy();
- wrapper = null;
- });
-
- test.each`
- member | expectedMemberType
- ${memberMock} | ${MEMBER_TYPES.user}
- ${group} | ${MEMBER_TYPES.group}
- ${invite} | ${MEMBER_TYPES.invite}
- ${accessRequest} | ${MEMBER_TYPES.accessRequest}
- `(
- 'sets scoped slot prop `memberType` to $expectedMemberType',
- ({ member, expectedMemberType }) => {
- createComponent({ member });
-
- expect(findWrappedComponent().props('memberType')).toBe(expectedMemberType);
- },
- );
-
- describe('isDirectMember', () => {
- it('returns `true` when member source has same ID as `sourceId`', () => {
- createComponentWithDirectMember();
-
- expect(findWrappedComponent().props('isDirectMember')).toBe(true);
- });
-
- it('returns `false` when member is inherited', () => {
- createComponentWithInheritedMember();
-
- expect(findWrappedComponent().props('isDirectMember')).toBe(false);
- });
-
- it('returns `true` for linked groups', () => {
- createComponent({
- member: group,
- });
-
- expect(findWrappedComponent().props('isDirectMember')).toBe(true);
- });
- });
-
- describe('isCurrentUser', () => {
- it('returns `true` when `member.user` has the same ID as `currentUserId`', () => {
- createComponent({
- member: memberCurrentUser,
- });
-
- expect(findWrappedComponent().props('isCurrentUser')).toBe(true);
- });
-
- it('returns `false` when `member.user` does not have the same ID as `currentUserId`', () => {
- createComponent({
- member: memberMock,
- });
-
- expect(findWrappedComponent().props('isCurrentUser')).toBe(false);
- });
- });
-
- describe('permissions', () => {
- describe('canRemove', () => {
- describe('for a direct member', () => {
- it('returns `true` when `canRemove` is `true`', () => {
- createComponentWithDirectMember({
- canRemove: true,
- });
-
- expect(findWrappedComponent().props('permissions').canRemove).toBe(true);
- });
-
- it('returns `false` when `canRemove` is `false`', () => {
- createComponentWithDirectMember({
- canRemove: false,
- });
-
- expect(findWrappedComponent().props('permissions').canRemove).toBe(false);
- });
- });
-
- describe('for an inherited member', () => {
- it('returns `false`', () => {
- createComponentWithInheritedMember();
-
- expect(findWrappedComponent().props('permissions').canRemove).toBe(false);
- });
- });
- });
-
- describe('canResend', () => {
- describe('when member type is `invite`', () => {
- it('returns `true` when `canResend` is `true`', () => {
- createComponent({
- member: invite,
- });
-
- expect(findWrappedComponent().props('permissions').canResend).toBe(true);
- });
-
- it('returns `false` when `canResend` is `false`', () => {
- createComponent({
- member: {
- ...invite,
- invite: {
- ...invite,
- canResend: false,
- },
- },
- });
-
- expect(findWrappedComponent().props('permissions').canResend).toBe(false);
- });
- });
-
- describe('when member type is not `invite`', () => {
- it('returns `false`', () => {
- createComponent({ member: memberMock });
-
- expect(findWrappedComponent().props('permissions').canResend).toBe(false);
- });
- });
- });
-
- describe('canUpdate', () => {
- describe('for a direct member', () => {
- it('returns `true` when `canUpdate` is `true`', () => {
- createComponentWithDirectMember({
- canUpdate: true,
- });
-
- expect(findWrappedComponent().props('permissions').canUpdate).toBe(true);
- });
-
- it('returns `false` when `canUpdate` is `false`', () => {
- createComponentWithDirectMember({
- canUpdate: false,
- });
-
- expect(findWrappedComponent().props('permissions').canUpdate).toBe(false);
- });
-
- it('returns `false` for current user', () => {
- createComponentWithDirectMember(memberCurrentUser);
-
- expect(findWrappedComponent().props('permissions').canUpdate).toBe(false);
- });
- });
-
- describe('for an inherited member', () => {
- it('returns `false`', () => {
- createComponentWithInheritedMember();
-
- expect(findWrappedComponent().props('permissions').canUpdate).toBe(false);
- });
- });
- });
- });
-});