diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-22 11:31:16 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-22 11:31:16 +0000 |
commit | 905c1110b08f93a19661cf42a276c7ea90d0a0ff (patch) | |
tree | 756d138db422392c00471ab06acdff92c5a9b69c /spec/features/merge_request/user_views_merge_request_from_deleted_fork_spec.rb | |
parent | 50d93f8d1686950fc58dda4823c4835fd0d8c14b (diff) | |
download | gitlab-ce-905c1110b08f93a19661cf42a276c7ea90d0a0ff.tar.gz |
Add latest changes from gitlab-org/gitlab@12-4-stable-ee
Diffstat (limited to 'spec/features/merge_request/user_views_merge_request_from_deleted_fork_spec.rb')
-rw-r--r-- | spec/features/merge_request/user_views_merge_request_from_deleted_fork_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/features/merge_request/user_views_merge_request_from_deleted_fork_spec.rb b/spec/features/merge_request/user_views_merge_request_from_deleted_fork_spec.rb new file mode 100644 index 00000000000..26984a1fb5e --- /dev/null +++ b/spec/features/merge_request/user_views_merge_request_from_deleted_fork_spec.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true +require 'spec_helper' + +# This is a feature spec because the problems arrise when rendering the view for +# an actual project for which the repository is removed but the cached not +# updated. +# This can occur when the fork a merge request is created from is in the process +# of being destroyed. +describe 'User views merged merge request from deleted fork' do + include ProjectForksHelper + + let(:project) { create(:project, :repository) } + let(:source_project) { fork_project(project, nil, repository: true) } + let(:user) { project.owner } + let!(:merge_request) { create(:merge_request, :merged, source_project: source_project, target_project: project) } + + before do + sign_in user + + fork_owner = source_project.namespace.owners.first + # Place the source_project in the weird in between state + source_project.update_attribute(:pending_delete, true) + Projects::DestroyService.new(source_project, fork_owner, {}).__send__(:trash_repositories!) + end + + it 'correctly shows the merge request' do + visit(merge_request_path(merge_request)) + + expect(page).to have_content(merge_request.title) + end +end |