diff options
| author | Phil Hughes <me@iamphill.com> | 2019-07-05 11:14:56 +0100 |
|---|---|---|
| committer | Phil Hughes <me@iamphill.com> | 2019-07-05 12:16:46 +0100 |
| commit | 77c35d5d001a0ce0626bc8aeec574eca36c2233b (patch) | |
| tree | 2a98e40e56b6d5820d8ee95a75675276e11b603b /spec/features/issues | |
| parent | 9a4b5f08dbf5e0900145b5127f50e7ab3578d05c (diff) | |
| download | gitlab-ce-77c35d5d001a0ce0626bc8aeec574eca36c2233b.tar.gz | |
Create private merge requests in forks
https://gitlab.com/gitlab-org/gitlab-ce/issues/58583
Diffstat (limited to 'spec/features/issues')
| -rw-r--r-- | spec/features/issues/user_creates_confidential_merge_request_spec.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/spec/features/issues/user_creates_confidential_merge_request_spec.rb b/spec/features/issues/user_creates_confidential_merge_request_spec.rb new file mode 100644 index 00000000000..7ae4af4667b --- /dev/null +++ b/spec/features/issues/user_creates_confidential_merge_request_spec.rb @@ -0,0 +1,54 @@ +require 'rails_helper' + +describe 'User creates confidential merge request on issue page', :js do + include ProjectForksHelper + + let(:user) { create(:user) } + let(:project) { create(:project, :repository, :public) } + let(:issue) { create(:issue, project: project, confidential: true) } + + def visit_confidential_issue + sign_in(user) + visit project_issue_path(project, issue) + wait_for_requests + end + + before do + project.add_developer(user) + end + + context 'user has no private fork' do + before do + fork_project(project, user, repository: true) + visit_confidential_issue + end + + it 'shows that user has no fork available' do + click_button 'Create confidential merge request' + + page.within '.create-confidential-merge-request-dropdown-menu' do + expect(page).to have_content('No forks available to you') + end + end + end + + describe 'user has private fork' do + let(:forked_project) { fork_project(project, user, repository: true) } + + before do + forked_project.update(visibility: Gitlab::VisibilityLevel::PRIVATE) + visit_confidential_issue + end + + it 'create merge request in fork' do + click_button 'Create confidential merge request' + + page.within '.create-confidential-merge-request-dropdown-menu' do + expect(page).to have_button(forked_project.name_with_namespace) + click_button 'Create confidential merge request' + end + + expect(page).to have_content(forked_project.namespace.name) + end + end +end |
