From 186c4dd7b4f6d4edc68c6fd65703665d14877e3e Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Wed, 30 Nov 2016 11:57:38 +0000 Subject: [PATCH] Fix broken link for latest deployment Updates changelog with MR ID --- app/helpers/environment_helper.rb | 6 +++++ app/views/projects/builds/show.html.haml | 3 +-- .../unreleased/25136-last-deployment-link.yml | 4 ++++ spec/features/projects/builds_spec.rb | 22 +++++++++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/25136-last-deployment-link.yml diff --git a/app/helpers/environment_helper.rb b/app/helpers/environment_helper.rb index 27975b7ddb7..5fde912ab2c 100644 --- a/app/helpers/environment_helper.rb +++ b/app/helpers/environment_helper.rb @@ -20,6 +20,12 @@ module EnvironmentHelper link_to "##{deployment.iid}", [deployment.project.namespace.becomes(Namespace), deployment.project, deployment.deployable] end + def last_deployment_link(deployment, link_text) + return unless deployment + + link_to link_text, [deployment.project.namespace.becomes(Namespace), deployment.project, deployment.deployable] + end + def last_deployment_link_for_environment_build(project, build) environment = environment_for_build(project, build) return unless environment diff --git a/app/views/projects/builds/show.html.haml b/app/views/projects/builds/show.html.haml index 108674dbba6..46a1969b348 100644 --- a/app/views/projects/builds/show.html.haml +++ b/app/views/projects/builds/show.html.haml @@ -46,8 +46,7 @@ - else This build is creating a deployment to #{environment_link_for_build(@build.project, @build)} - if environment.try(:last_deployment) - and will overwrite the - = link_to 'latest deployment', deployment_link(environment.last_deployment) + and will overwrite the #{last_deployment_link(environment.last_deployment, 'latest deployment')} .prepend-top-default - if @build.erased? diff --git a/changelogs/unreleased/25136-last-deployment-link.yml b/changelogs/unreleased/25136-last-deployment-link.yml new file mode 100644 index 00000000000..eab1534aa66 --- /dev/null +++ b/changelogs/unreleased/25136-last-deployment-link.yml @@ -0,0 +1,4 @@ +--- +title: Fix Latest deployment link is broken +merge_request: 7839 +author: diff --git a/spec/features/projects/builds_spec.rb b/spec/features/projects/builds_spec.rb index a0ccc472d11..f25a0abb33d 100644 --- a/spec/features/projects/builds_spec.rb +++ b/spec/features/projects/builds_spec.rb @@ -227,6 +227,28 @@ feature 'Builds', :feature do expect(page).to have_selector('.js-build-value', text: 'TRIGGER_VALUE_1') end end + + context "Build starts environment" do + context "Build is successfull and has deployment" do + it "shows a link for the build" do + -# link to environment.name + expect(page).to have_link() + end + end + + context "Build is complete and not successfull" do + it "shows a link for the build" do + -# link to environment.name + expect(page).to have_link() + end + end + + context "Build creates a new deployment" do + it "shows a link to lastest deployment" do + expect(page).to have_link("latest deployment") + end + end + end end describe "POST /:project/builds/:id/cancel" do