diff options
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/project_spec.rb | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 1c85411dc3b..9e5b06b745a 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -1897,7 +1897,7 @@ describe Project do end end - describe '#latest_successful_builds_for' do + describe '#latest_successful_builds_for and #latest_successful_build_for' do def create_pipeline(status = 'success') create(:ci_pipeline, project: project, sha: project.commit.sha, @@ -1919,14 +1919,16 @@ describe Project do it 'gives the latest builds from latest pipeline' do pipeline1 = create_pipeline pipeline2 = create_pipeline - build1_p2 = create_build(pipeline2, 'test') create_build(pipeline1, 'test') create_build(pipeline1, 'test2') + build1_p2 = create_build(pipeline2, 'test') build2_p2 = create_build(pipeline2, 'test2') latest_builds = project.latest_successful_builds_for + single_build = project.latest_successful_build_for(build1_p2.name) expect(latest_builds).to contain_exactly(build2_p2, build1_p2) + expect(single_build).to eq(build1_p2) end end @@ -1936,16 +1938,22 @@ describe Project do context 'standalone pipeline' do it 'returns builds for ref for default_branch' do builds = project.latest_successful_builds_for + single_build = project.latest_successful_build_for(build.name) expect(builds).to contain_exactly(build) + expect(single_build).to eq(build) end - it 'returns empty relation if the build cannot be found' do + it 'returns empty relation if the build cannot be found for #latest_successful_builds_for' do builds = project.latest_successful_builds_for('TAIL') expect(builds).to be_kind_of(ActiveRecord::Relation) expect(builds).to be_empty end + + it 'returns exception if the build cannot be found for #latest_successful_build_for' do + expect { project.latest_successful_build_for(build.name, 'TAIL') }.to raise_error(ActiveRecord::RecordNotFound) + end end context 'with some pending pipeline' do @@ -1954,9 +1962,11 @@ describe Project do end it 'gives the latest build from latest pipeline' do - latest_build = project.latest_successful_builds_for + latest_builds = project.latest_successful_builds_for + last_single_build = project.latest_successful_build_for(build.name) - expect(latest_build).to contain_exactly(build) + expect(latest_builds).to contain_exactly(build) + expect(last_single_build).to eq(build) end end end |