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:
Diffstat (limited to 'spec/presenters/merge_request_presenter_spec.rb')
-rw-r--r--spec/presenters/merge_request_presenter_spec.rb40
1 files changed, 38 insertions, 2 deletions
diff --git a/spec/presenters/merge_request_presenter_spec.rb b/spec/presenters/merge_request_presenter_spec.rb
index dbf5af095cb..798bee70e42 100644
--- a/spec/presenters/merge_request_presenter_spec.rb
+++ b/spec/presenters/merge_request_presenter_spec.rb
@@ -4,9 +4,45 @@ require 'spec_helper'
RSpec.describe MergeRequestPresenter do
let_it_be(:project) { create(:project, :repository) }
- let_it_be(:resource) { create(:merge_request, source_project: project) }
+ let(:resource) { create(:merge_request, source_project: project) }
+
let_it_be(:user) { create(:user) }
+ describe '#mergeable_discussions_state' do
+ subject { described_class.new(resource).mergeable_discussions_state }
+
+ let(:discussions_state) { double }
+
+ before do
+ allow(resource).to receive(:mergeable_discussions_state?).and_return(discussions_state)
+ end
+
+ context 'when change_response_code_merge_status is enabled' do
+ it 'returns the mergeable_discussions_state' do
+ is_expected.to eq(discussions_state)
+ end
+ end
+
+ context 'when change_response_code_merge_status is disabled' do
+ before do
+ stub_feature_flags(change_response_code_merge_status: false)
+ end
+
+ context 'when it is not mergeable' do
+ it 'returns false' do
+ resource.close!
+ is_expected.to eq(false)
+ end
+ end
+
+ context 'when it is mergeable' do
+ it 'returns the mergeable_discussions_state' do
+ is_expected.to eq(discussions_state)
+ end
+ end
+ end
+ end
+
describe '#ci_status' do
subject { described_class.new(resource).ci_status }
@@ -308,7 +344,7 @@ RSpec.describe MergeRequestPresenter do
end
before do
- allow(resource).to receive(:work_in_progress?).and_return(true)
+ allow(resource).to receive(:draft?).and_return(true)
end
context 'when merge request enabled and has permission' do