diff options
author | Robert Speicher <robert@gitlab.com> | 2016-06-30 18:23:34 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-06-30 18:23:34 +0000 |
commit | dc2d0051dc64318d732e34aeae87f0b4291c8a82 (patch) | |
tree | 3d26187cd91e2b70685e3f578927b8de10630568 /spec | |
parent | fa3e82820398b71bcdc4904ee52b981fe270fa65 (diff) | |
parent | 8223e280711f7d42a34816d681dffd3b2c881990 (diff) | |
download | gitlab-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.rb | 18 | ||||
-rw-r--r-- | spec/views/projects/builds/show.html.haml_spec.rb | 37 |
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 |