summaryrefslogtreecommitdiff
path: root/spec/models/ci
diff options
context:
space:
mode:
authorLeandro Camargo <leandroico@gmail.com>2016-11-21 02:38:03 -0200
committerLeandro Camargo <leandroico@gmail.com>2017-01-25 01:07:44 -0200
commit0713a7c3a9eb1bcfdf6adde0c3365549c19a3ee1 (patch)
treedc6ed374e79782124c4c6cd8ba745883e3fbb2e5 /spec/models/ci
parent94eb2f47c732dc9485aba4ebe52238e882a43473 (diff)
downloadgitlab-ce-0713a7c3a9eb1bcfdf6adde0c3365549c19a3ee1.tar.gz
Add specs to cover the implemented feature and fix a small bug
Diffstat (limited to 'spec/models/ci')
-rw-r--r--spec/models/ci/build_spec.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb
index f031876e812..9e5481017e2 100644
--- a/spec/models/ci/build_spec.rb
+++ b/spec/models/ci/build_spec.rb
@@ -221,6 +221,39 @@ describe Ci::Build, :models do
end
end
+ describe '#coverage_regex' do
+ subject { build.coverage_regex }
+ let(:project_regex) { '\(\d+\.\d+\) covered' }
+ let(:build_regex) { 'Code coverage: \d+\.\d+' }
+
+ context 'when project has build_coverage_regex set' do
+ before { project.build_coverage_regex = project_regex }
+
+ context 'and coverage_regex attribute is not set' do
+ it { is_expected.to eq(project_regex) }
+ end
+
+ context 'but coverage_regex attribute is also set' do
+ before { build.coverage_regex = build_regex }
+ it { is_expected.to eq(build_regex) }
+ end
+ end
+
+ context 'when neither project nor build has coverage regex set' do
+ it { is_expected.to be_nil }
+ end
+ end
+
+ describe '#update_coverage' do
+ it 'grants coverage_regex method is called inside of it' do
+ build.coverage_regex = '\(\d+.\d+\%\) covered'
+ allow(build).to receive(:trace) { 'Coverage 1033 / 1051 LOC (98.29%) covered' }
+ allow(build).to receive(:coverage_regex).and_call_original
+ allow(build).to receive(:update_attributes).with(coverage: 98.29) { true }
+ expect(build.update_coverage).to be true
+ end
+ end
+
describe 'deployment' do
describe '#last_deployment' do
subject { build.last_deployment }