diff options
Diffstat (limited to 'spec/serializers')
-rw-r--r-- | spec/serializers/merge_request_poll_widget_entity_spec.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/serializers/merge_request_poll_widget_entity_spec.rb b/spec/serializers/merge_request_poll_widget_entity_spec.rb index 581efd331ef..409585e52f1 100644 --- a/spec/serializers/merge_request_poll_widget_entity_spec.rb +++ b/spec/serializers/merge_request_poll_widget_entity_spec.rb @@ -182,4 +182,40 @@ RSpec.describe MergeRequestPollWidgetEntity do end end end + + describe '#mergeable_discussions_state?' do + context 'when change_response_code_merge_status is true' do + before do + stub_feature_flags(change_response_code_merge_status: true) + end + + it 'returns mergeable discussions state' do + expect(subject[:mergeable_discussions_state]).to eq(true) + end + end + + context 'when change_response_code_merge_status is false' do + context 'when merge request is in a mergeable state' do + before do + stub_feature_flags(change_response_code_merge_status: false) + allow(resource).to receive(:mergeable_discussions_state?).and_return(true) + end + + it 'returns mergeable discussions state' do + expect(subject[:mergeable_discussions_state]).to eq(true) + end + end + + context 'when merge request is not in a mergeable state' do + before do + stub_feature_flags(change_response_code_merge_status: false) + allow(resource).to receive(:mergeable_state?).and_return(false) + end + + it 'returns mergeable discussions state' do + expect(subject[:mergeable_discussions_state]).to eq(false) + end + end + end + end end |