diff options
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/merge_request_spec.rb | 38 | ||||
-rw-r--r-- | spec/models/sent_notification_spec.rb | 22 |
2 files changed, 35 insertions, 25 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 5fe0a9052cf..38b92f22faf 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -3836,40 +3836,28 @@ describe MergeRequest do end describe '#diffable_merge_ref?' do - context 'diff_compare_with_head enabled' do - context 'merge request can be merged' do - context 'merge_to_ref is not calculated' do - it 'returns true' do - expect(subject.diffable_merge_ref?).to eq(false) - end - end - - context 'merge_to_ref is calculated' do - before do - MergeRequests::MergeToRefService.new(subject.project, subject.author).execute(subject) - end - - it 'returns true' do - expect(subject.diffable_merge_ref?).to eq(true) - end + context 'merge request can be merged' do + context 'merge_to_ref is not calculated' do + it 'returns true' do + expect(subject.diffable_merge_ref?).to eq(false) end end - context 'merge request cannot be merged' do - it 'returns false' do - subject.mark_as_unchecked! + context 'merge_to_ref is calculated' do + before do + MergeRequests::MergeToRefService.new(subject.project, subject.author).execute(subject) + end - expect(subject.diffable_merge_ref?).to eq(false) + it 'returns true' do + expect(subject.diffable_merge_ref?).to eq(true) end end end - context 'diff_compare_with_head disabled' do - before do - stub_feature_flags(diff_compare_with_head: { enabled: false, thing: subject.target_project }) - end - + context 'merge request cannot be merged' do it 'returns false' do + subject.mark_as_unchecked! + expect(subject.diffable_merge_ref?).to eq(false) end end diff --git a/spec/models/sent_notification_spec.rb b/spec/models/sent_notification_spec.rb index fedaae372c4..087bc957373 100644 --- a/spec/models/sent_notification_spec.rb +++ b/spec/models/sent_notification_spec.rb @@ -326,4 +326,26 @@ describe SentNotification do end end end + + describe "#position=" do + subject { build(:sent_notification, noteable: create(:issue)) } + + it "doesn't accept non-hash JSON passed as a string" do + subject.position = "true" + + expect(subject.attributes_before_type_cast["position"]).to be(nil) + end + + it "does accept a position hash as a string" do + subject.position = '{ "base_sha": "test" }' + + expect(subject.position.base_sha).to eq("test") + end + + it "does accept a hash" do + subject.position = { "base_sha" => "test" } + + expect(subject.position.base_sha).to eq("test") + end + end end |