diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2018-05-10 13:45:14 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2018-05-10 13:45:14 +0000 |
commit | 8279df2c055abecfd51ef79b87fbcef5da37c618 (patch) | |
tree | db8b6b1954dd51a457f6d914ff070b4fa4962dd6 | |
parent | 1248189117c7e487ae73bf13f01747990a83df41 (diff) | |
parent | c6696389593c3bd4484574110d3aa0f0facdb2e9 (diff) | |
download | gitlab-ce-8279df2c055abecfd51ef79b87fbcef5da37c618.tar.gz |
Merge branch 'ide-hide-merge-request-if-disabled' into 'master'
Hide merge request option in IDE when merge requests are disabled
Closes #45698
See merge request gitlab-org/gitlab-ce!18857
5 files changed, 26 insertions, 1 deletions
diff --git a/app/assets/javascripts/ide/components/commit_sidebar/actions.vue b/app/assets/javascripts/ide/components/commit_sidebar/actions.vue index 6a5790c9dff..b4f3778d946 100644 --- a/app/assets/javascripts/ide/components/commit_sidebar/actions.vue +++ b/app/assets/javascripts/ide/components/commit_sidebar/actions.vue @@ -1,5 +1,5 @@ <script> -import { mapActions, mapState } from 'vuex'; +import { mapActions, mapState, mapGetters } from 'vuex'; import { sprintf, __ } from '~/locale'; import * as consts from '../../stores/modules/commit/constants'; import RadioGroup from './radio_group.vue'; @@ -10,6 +10,7 @@ export default { }, computed: { ...mapState(['currentBranchId', 'changedFiles', 'stagedFiles']), + ...mapGetters(['currentProject']), commitToCurrentBranchText() { return sprintf( __('Commit to %{branchName} branch'), @@ -52,6 +53,7 @@ export default { :show-input="true" /> <radio-group + v-if="currentProject.merge_requests_enabled" :value="$options.commitToNewBranchMR" :label="__('Create a new branch and merge request')" :show-input="true" diff --git a/changelogs/unreleased/ide-hide-merge-request-if-disabled.yml b/changelogs/unreleased/ide-hide-merge-request-if-disabled.yml new file mode 100644 index 00000000000..9efef2c6839 --- /dev/null +++ b/changelogs/unreleased/ide-hide-merge-request-if-disabled.yml @@ -0,0 +1,5 @@ +--- +title: Hide merge request option in IDE when disabled +merge_request: +author: +type: changed diff --git a/spec/javascripts/ide/components/commit_sidebar/actions_spec.js b/spec/javascripts/ide/components/commit_sidebar/actions_spec.js index 144e78d14b5..27f10caccb1 100644 --- a/spec/javascripts/ide/components/commit_sidebar/actions_spec.js +++ b/spec/javascripts/ide/components/commit_sidebar/actions_spec.js @@ -3,6 +3,7 @@ import store from '~/ide/stores'; import commitActions from '~/ide/components/commit_sidebar/actions.vue'; import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper'; import { resetStore } from 'spec/ide/helpers'; +import { projectData } from 'spec/ide/mock_data'; describe('IDE commit sidebar actions', () => { let vm; @@ -13,6 +14,8 @@ describe('IDE commit sidebar actions', () => { vm = createComponentWithStore(Component, store); vm.$store.state.currentBranchId = 'master'; + vm.$store.state.currentProjectId = 'abcproject'; + Vue.set(vm.$store.state.projects, 'abcproject', { ...projectData }); vm.$mount(); @@ -32,4 +35,15 @@ describe('IDE commit sidebar actions', () => { it('renders current branch text', () => { expect(vm.$el.textContent).toContain('Commit to master branch'); }); + + it('hides merge request option when project merge requests are disabled', done => { + vm.$store.state.projects.abcproject.merge_requests_enabled = false; + + vm.$nextTick(() => { + expect(vm.$el.querySelectorAll('input[type="radio"]').length).toBe(2); + expect(vm.$el.textContent).not.toContain('Create a new branch and merge request'); + + done(); + }); + }); }); diff --git a/spec/javascripts/ide/components/commit_sidebar/form_spec.js b/spec/javascripts/ide/components/commit_sidebar/form_spec.js index ce7c134bc97..8b47a365582 100644 --- a/spec/javascripts/ide/components/commit_sidebar/form_spec.js +++ b/spec/javascripts/ide/components/commit_sidebar/form_spec.js @@ -4,6 +4,7 @@ import CommitForm from '~/ide/components/commit_sidebar/form.vue'; import { activityBarViews } from '~/ide/constants'; import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper'; import getSetTimeoutPromise from 'spec/helpers/set_timeout_promise_helper'; +import { projectData } from 'spec/ide/mock_data'; import { resetStore } from '../../helpers'; describe('IDE commit form', () => { @@ -14,6 +15,8 @@ describe('IDE commit form', () => { spyOnProperty(window, 'innerHeight').and.returnValue(800); store.state.changedFiles.push('test'); + store.state.currentProjectId = 'abcproject'; + Vue.set(store.state.projects, 'abcproject', { ...projectData }); vm = createComponentWithStore(Component, store).$mount(); }); diff --git a/spec/javascripts/ide/mock_data.js b/spec/javascripts/ide/mock_data.js index 3c6d75ab5e4..c059862b9d1 100644 --- a/spec/javascripts/ide/mock_data.js +++ b/spec/javascripts/ide/mock_data.js @@ -12,4 +12,5 @@ export const projectData = { }, }, mergeRequests: {}, + merge_requests_enabled: true, }; |