diff --git a/app/views/projects/builds/show.html.haml b/app/views/projects/builds/show.html.haml index 43c6437f9b1..488688a7d59 100644 --- a/app/views/projects/builds/show.html.haml +++ b/app/views/projects/builds/show.html.haml @@ -38,19 +38,14 @@ - if @build.complete? - if @build.success? - if last_deployment.try(:last?) - This build is the most recent deployment to - = environment_link_for_build(@build.project, @build) + This build is the most recent deployment to #{environment_link_for_build(@build.project, @build)}. - else This build is an out-of-date deployment to #{environment_link_for_build(@build.project, @build)}. View the most recent deployment #{deployment_link(@project, last_deployment)}. - else - The deployment of this build to - = environment_link_for_build(@build.project, @build) - did not complete. + The deployment of this build to #{environment_link_for_build(@build.project, @build)} did not complete. - else - This build is creating a deployment to - = environment_link_for_build(@build.project, @build) - and will overwrite the - = link_to "latest deployment.", deployment_link(@project, last_deployment) + This build is creating a deployment to #{environment_link_for_build(@build.project, @build)} and will overwrite the | + = link_to "latest deployment.", deployment_link(@project, last_deployment) | .prepend-top-default - if @build.erased? diff --git a/spec/views/projects/builds/show.html.haml_spec.rb b/spec/views/projects/builds/show.html.haml_spec.rb index 98b68e730e6..fa4d66bb6cb 100644 --- a/spec/views/projects/builds/show.html.haml_spec.rb +++ b/spec/views/projects/builds/show.html.haml_spec.rb @@ -28,7 +28,6 @@ describe 'projects/builds/show', :view do it 'shows deployment message' do expected_text = 'This build is the most recent deployment' - render expect(rendered).to have_css( @@ -63,22 +62,75 @@ describe 'projects/builds/show', :view do end context 'build failed to deploy' do - let(:build) { create(:ci_build, :failed, environment: 'staging') } - let!(:environment) { create(:environment, name: 'staging') } + let(:build) do + create(:ci_build, :failed, environment: 'staging', pipeline: pipeline) + end + + let!(:environment) do + create(:environment, name: 'staging', project: project) + end + + it 'shows deployment message' do + expected_text = 'The deployment of this build to staging did not complete.' + render + + expect(rendered).to have_css( + '.environment-information', text: expected_text) + end end context 'build will deploy' do - let(:build) { create(:ci_build, :running, environment: 'staging') } - let!(:environment) { create(:environment, name: 'staging') } + let(:build) do + create(:ci_build, :running, environment: 'staging', pipeline: pipeline) + end + + let!(:environment) do + create(:environment, name: 'staging', project: project) + end + + it 'shows deployment message' do + expected_text = 'This build is creating a deployment to staging' + render + + expect(rendered).to have_css( + '.environment-information', text: expected_text) + end end context 'build that failed to deploy and environment has not been created' do - let(:build) { create(:ci_build, :failed, environment: 'staging') } + let(:build) do + create(:ci_build, :failed, environment: 'staging', pipeline: pipeline) + end + + let!(:environment) do + create(:environment, name: 'staging', project: project) + end + + it 'shows deployment message' do + expected_text = 'The deployment of this build to staging did not complete' + render + + expect(rendered).to have_css( + '.environment-information', text: expected_text) + end end context 'build that will deploy and environment has not been created' do - let(:build) { create(:ci_build, :running, environment: 'staging') } - let!(:environment) { create(:environment, name: 'staging') } + let(:build) do + create(:ci_build, :running, environment: 'staging', pipeline: pipeline) + end + + let!(:environment) do + create(:environment, name: 'staging', project: project) + end + + it 'shows deployment message' do + expected_text = 'This build is creating a deployment to staging' + render + + expect(rendered).to have_css( + '.environment-information', text: expected_text) + end end end