diff options
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r-- | spec/models/merge_request_spec.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 4cc3a6a3644..96d49e86dab 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -1372,6 +1372,34 @@ describe MergeRequest do end end + describe '#update_head_pipeline' do + subject { merge_request.update_head_pipeline } + + let(:merge_request) { create(:merge_request) } + + context 'when there is a pipeline with the diff head sha' do + let!(:pipeline) do + create(:ci_empty_pipeline, + project: merge_request.project, + sha: merge_request.diff_head_sha, + ref: merge_request.source_branch) + end + + it 'updates the head pipeline' do + expect { subject } + .to change { merge_request.reload.head_pipeline } + .from(nil).to(pipeline) + end + end + + context 'when there are no pipelines with the diff head sha' do + it 'does not update the head pipeline' do + expect { subject } + .not_to change { merge_request.reload.head_pipeline } + end + end + end + describe '#has_test_reports?' do subject { merge_request.has_test_reports? } |