Change method name to #reopenable?

This commit is contained in:
Katarzyna Kobierska 2016-09-13 14:40:00 +02:00
parent 34586c1894
commit 66e92895e3
3 changed files with 13 additions and 12 deletions

View file

@ -327,9 +327,10 @@ class MergeRequest < ActiveRecord::Base
!source_project.forked_from?(target_project)
end
def can_reopen?
def reopenable?
return false if closed_without_fork? || closed_without_source_project? || merged?
return true if closed?
closed?
end
def ensure_merge_request_diff

View file

@ -2,7 +2,7 @@
- if can?(current_user, :update_merge_request, @merge_request)
- if @merge_request.open?
= link_to 'Close merge request', merge_request_path(@merge_request, merge_request: {state_event: :close }), method: :put, class: "btn btn-nr btn-comment btn-close close-mr-link js-note-target-close", title: "Close merge request", data: {original_text: "Close merge request", alternative_text: "Comment & close merge request"}
- if @merge_request.can_reopen?
- if @merge_request.reopenable?
= link_to 'Reopen merge request', merge_request_path(@merge_request, merge_request: {state_event: :reopen }), method: :put, class: "btn btn-nr btn-comment btn-reopen reopen-mr-link js-note-target-reopen", title: "Reopen merge request", data: {original_text: "Reopen merge request", alternative_text: "Comment & reopen merge request"}
%comment-and-resolve-btn{ "inline-template" => true, ":discussion-id" => "" }
%button.btn.btn-nr.btn-default.append-right-10.js-comment-resolve-button{ "v-if" => "showButton", type: "submit", data: { namespace_path: "#{@merge_request.project.namespace.path}", project_path: "#{@merge_request.project.path}" } }

View file

@ -1043,7 +1043,7 @@ describe MergeRequest, models: true do
let(:project) { create(:project) }
let(:user) { create(:user) }
let(:fork_project) { create(:project, forked_from_project: project, namespace: user.namespace) }
let(:destroy_project) { Projects::DestroyService.new(fork_project, user, {}) }
let(:destroy_service) { Projects::DestroyService.new(fork_project, user) }
context 'when the merge request is closed' do
let(:closed_merge_request) do
@ -1057,7 +1057,7 @@ describe MergeRequest, models: true do
end
it 'returns true if the source project does not exist' do
destroy_project.execute
destroy_service.execute
closed_merge_request.reload
expect(closed_merge_request.closed_without_source_project?).to be_truthy
@ -1071,12 +1071,12 @@ describe MergeRequest, models: true do
end
end
describe '#can_reopen?' do
describe '#reopenable?' do
context 'when the merge request is closed' do
it 'returns true' do
subject.close
expect(subject.can_reopen?).to be_truthy
expect(subject.reopenable?).to be_truthy
end
context 'forked project' do
@ -1092,26 +1092,26 @@ describe MergeRequest, models: true do
it 'returns false if unforked' do
Projects::UnlinkForkService.new(fork_project, user).execute
expect(merge_request.reload.can_reopen?).to be_falsey
expect(merge_request.reload.reopenable?).to be_falsey
end
it 'returns false if the source project is deleted' do
Projects::DestroyService.new(fork_project, user, {}).execute
Projects::DestroyService.new(fork_project, user).execute
expect(merge_request.reload.can_reopen?).to be_falsey
expect(merge_request.reload.reopenable?).to be_falsey
end
it 'returns false if the merge request is merged' do
merge_request.update_attributes(state: 'merged')
expect(merge_request.reload.can_reopen?).to be_falsey
expect(merge_request.reload.reopenable?).to be_falsey
end
end
end
context 'when the merge request is opened' do
it 'returns false' do
expect(subject.can_reopen?).to be_falsey
expect(subject.reopenable?).to be_falsey
end
end
end