Skip to content
Snippets Groups Projects
Commit 7518330a authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Refactor ci commit specs by adding context blocks

parent bdb86ea6
No related branches found
No related tags found
No related merge requests found
Loading
@@ -158,97 +158,105 @@ describe Ci::Commit, models: true do
Loading
@@ -158,97 +158,105 @@ describe Ci::Commit, models: true do
stub_ci_commit_yaml_file(YAML.dump(yaml)) stub_ci_commit_yaml_file(YAML.dump(yaml))
end end
   
it 'properly creates builds' do context 'when builds are successful' do
expect(create_builds).to be_truthy it 'properly creates builds' do
expect(commit.builds.pluck(:name)).to contain_exactly('build') expect(create_builds).to be_truthy
expect(commit.builds.pluck(:status)).to contain_exactly('pending') expect(commit.builds.pluck(:name)).to contain_exactly('build')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:status)).to contain_exactly('pending')
commit.builds.running_or_pending.each(&:success)
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending')
commit.builds.running_or_pending.each(&:success)
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'pending')
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'pending')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy')
commit.builds.running_or_pending.each(&:success)
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy', 'cleanup')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'success', 'pending') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy', 'cleanup')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'success', 'pending')
commit.builds.running_or_pending.each(&:success)
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'success', 'success')
commit.reload expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'success', 'success')
expect(commit.status).to eq('success') commit.reload
expect(commit.status).to eq('success')
end
end end
   
it 'properly creates builds when test fails' do context 'when test job fails' do
expect(create_builds).to be_truthy it 'properly creates builds' do
expect(commit.builds.pluck(:name)).to contain_exactly('build') expect(create_builds).to be_truthy
expect(commit.builds.pluck(:status)).to contain_exactly('pending') expect(commit.builds.pluck(:name)).to contain_exactly('build')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:status)).to contain_exactly('pending')
commit.builds.running_or_pending.each(&:success)
   
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending')
commit.builds.running_or_pending.each(&:drop) commit.builds.running_or_pending.each(&:drop)
   
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'pending') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'pending')
commit.builds.running_or_pending.each(&:success) commit.builds.running_or_pending.each(&:success)
   
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure', 'cleanup') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure', 'cleanup')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'success', 'pending') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'success', 'pending')
commit.builds.running_or_pending.each(&:success) commit.builds.running_or_pending.each(&:success)
   
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'success', 'success') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'success', 'success')
commit.reload commit.reload
expect(commit.status).to eq('failed') expect(commit.status).to eq('failed')
end
end end
   
it 'properly creates builds when test and test_failure fails' do context 'when test and test_failure jobs fail' do
expect(create_builds).to be_truthy it 'properly creates builds' do
expect(commit.builds.pluck(:name)).to contain_exactly('build') expect(create_builds).to be_truthy
expect(commit.builds.pluck(:status)).to contain_exactly('pending') expect(commit.builds.pluck(:name)).to contain_exactly('build')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:status)).to contain_exactly('pending')
commit.builds.running_or_pending.each(&:success)
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
commit.builds.running_or_pending.each(&:drop) expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending')
commit.builds.running_or_pending.each(&:drop)
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'pending') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure')
commit.builds.running_or_pending.each(&:drop) expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'pending')
commit.builds.running_or_pending.each(&:drop)
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure', 'cleanup')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'failed', 'pending') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure', 'cleanup')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'failed', 'pending')
commit.builds.running_or_pending.each(&:success)
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure', 'cleanup')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'failed', 'success') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'test_failure', 'cleanup')
commit.reload expect(commit.builds.pluck(:status)).to contain_exactly('success', 'failed', 'failed', 'success')
expect(commit.status).to eq('failed') commit.reload
expect(commit.status).to eq('failed')
end
end end
   
it 'properly creates builds when deploy fails' do context 'when deploy job fails' do
expect(create_builds).to be_truthy it 'properly creates builds' do
expect(commit.builds.pluck(:name)).to contain_exactly('build') expect(create_builds).to be_truthy
expect(commit.builds.pluck(:status)).to contain_exactly('pending') expect(commit.builds.pluck(:name)).to contain_exactly('build')
commit.builds.running_or_pending.each(&:success) expect(commit.builds.pluck(:status)).to contain_exactly('pending')
commit.builds.running_or_pending.each(&:success)
   
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'pending')
commit.builds.running_or_pending.each(&:success) commit.builds.running_or_pending.each(&:success)
   
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'pending') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'pending')
commit.builds.running_or_pending.each(&:drop) commit.builds.running_or_pending.each(&:drop)
   
expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy', 'cleanup') expect(commit.builds.pluck(:name)).to contain_exactly('build', 'test', 'deploy', 'cleanup')
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'failed', 'pending') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'failed', 'pending')
commit.builds.running_or_pending.each(&:success) commit.builds.running_or_pending.each(&:success)
   
expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'failed', 'success') expect(commit.builds.pluck(:status)).to contain_exactly('success', 'success', 'failed', 'success')
commit.reload commit.reload
expect(commit.status).to eq('failed') expect(commit.status).to eq('failed')
end
end end
end end
end end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment