summaryrefslogtreecommitdiff
path: root/spec/ci/services/image_for_build_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ci/services/image_for_build_service_spec.rb')
-rw-r--r--spec/ci/services/image_for_build_service_spec.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/ci/services/image_for_build_service_spec.rb b/spec/ci/services/image_for_build_service_spec.rb
new file mode 100644
index 00000000000..4c7094146bb
--- /dev/null
+++ b/spec/ci/services/image_for_build_service_spec.rb
@@ -0,0 +1,46 @@
+require 'spec_helper'
+
+describe ImageForBuildService do
+ let(:service) { ImageForBuildService.new }
+ let(:project) { FactoryGirl.create(:project) }
+ let(:commit) { FactoryGirl.create(:commit, project: project, ref: 'master') }
+ let(:build) { FactoryGirl.create(:build, commit: commit) }
+
+ describe :execute do
+ before { build }
+
+ context 'branch name' do
+ before { build.run! }
+ let(:image) { service.execute(project, ref: 'master') }
+
+ it { image.should be_kind_of(OpenStruct) }
+ it { image.path.to_s.should include('public/build-running.svg') }
+ it { image.name.should == 'build-running.svg' }
+ end
+
+ context 'unknown branch name' do
+ let(:image) { service.execute(project, ref: 'feature') }
+
+ it { image.should be_kind_of(OpenStruct) }
+ it { image.path.to_s.should include('public/build-unknown.svg') }
+ it { image.name.should == 'build-unknown.svg' }
+ end
+
+ context 'commit sha' do
+ before { build.run! }
+ let(:image) { service.execute(project, sha: build.sha) }
+
+ it { image.should be_kind_of(OpenStruct) }
+ it { image.path.to_s.should include('public/build-running.svg') }
+ it { image.name.should == 'build-running.svg' }
+ end
+
+ context 'unknown commit sha' do
+ let(:image) { service.execute(project, sha: '0000000') }
+
+ it { image.should be_kind_of(OpenStruct) }
+ it { image.path.to_s.should include('public/build-unknown.svg') }
+ it { image.name.should == 'build-unknown.svg' }
+ end
+ end
+end