summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2016-11-30 11:57:38 +0000
committerFilipa Lacerda <filipa@gitlab.com>2016-12-07 10:41:35 +0000
commit186c4dd7b4f6d4edc68c6fd65703665d14877e3e (patch)
tree9819280d0ecb67630d44db0c5483840c45f809f2
parent5186618bb0220383ae4668b7d023bfbbb52c8948 (diff)
downloadgitlab-ce-186c4dd7b4f6d4edc68c6fd65703665d14877e3e.tar.gz
Fix broken link for latest deployment
Updates changelog with MR ID
-rw-r--r--app/helpers/environment_helper.rb6
-rw-r--r--app/views/projects/builds/show.html.haml3
-rw-r--r--changelogs/unreleased/25136-last-deployment-link.yml4
-rw-r--r--spec/features/projects/builds_spec.rb22
4 files changed, 33 insertions, 2 deletions
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