summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-06-30 18:23:34 +0000
committerRobert Speicher <robert@gitlab.com>2016-06-30 18:23:34 +0000
commitdc2d0051dc64318d732e34aeae87f0b4291c8a82 (patch)
tree3d26187cd91e2b70685e3f578927b8de10630568 /spec
parentfa3e82820398b71bcdc4904ee52b981fe270fa65 (diff)
parent8223e280711f7d42a34816d681dffd3b2c881990 (diff)
downloadgitlab-ce-dc2d0051dc64318d732e34aeae87f0b4291c8a82.tar.gz
Merge branch 'fix/build-retry-button-in-view' into 'master'
Do not show build retry link when build is active Closes #19244 See merge request !4967
Diffstat (limited to 'spec')
-rw-r--r--spec/models/build_spec.rb18
-rw-r--r--spec/views/projects/builds/show.html.haml_spec.rb37
2 files changed, 55 insertions, 0 deletions
diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb
index 8154001cf46..97b28686d82 100644
--- a/spec/models/build_spec.rb
+++ b/spec/models/build_spec.rb
@@ -669,4 +669,22 @@ describe Ci::Build, models: true do
expect(build.commit).to eq project.commit
end
end
+
+ describe '#retryable?' do
+ context 'when build is running' do
+ before { build.run! }
+
+ it 'should return false' do
+ expect(build.retryable?).to be false
+ end
+ end
+
+ context 'when build is finished' do
+ before { build.success! }
+
+ it 'should return true' do
+ expect(build.retryable?).to be true
+ end
+ end
+ end
end
diff --git a/spec/views/projects/builds/show.html.haml_spec.rb b/spec/views/projects/builds/show.html.haml_spec.rb
new file mode 100644
index 00000000000..cd18d19ef5e
--- /dev/null
+++ b/spec/views/projects/builds/show.html.haml_spec.rb
@@ -0,0 +1,37 @@
+require 'spec_helper'
+
+describe 'projects/builds/show' do
+ include Devise::TestHelpers
+
+ let(:build) { create(:ci_build) }
+ let(:project) { build.project }
+
+ before do
+ assign(:build, build)
+ assign(:project, project)
+
+ allow(view).to receive(:can?).and_return(true)
+ end
+
+ context 'when build is running' do
+ before do
+ build.run!
+ render
+ end
+
+ it 'does not show retry button' do
+ expect(rendered).not_to have_link('Retry')
+ end
+ end
+
+ context 'when build is not running' do
+ before do
+ build.success!
+ render
+ end
+
+ it 'shows retry button' do
+ expect(rendered).to have_link('Retry')
+ end
+ end
+end