diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2016-12-07 15:27:22 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2016-12-07 15:43:24 +0000 |
commit | 4eb53036c7469d027d2a75aff9e70950557195d2 (patch) | |
tree | acfe7f47c3a9f0323e1d1fbc13a9d36f7191d932 | |
parent | 2dc907bc1761499e27c0a75eeccbbd350b38f80e (diff) | |
download | gitlab-ce-25136-last-deployment-link.tar.gz |
Changes after review25136-last-deployment-link
-rw-r--r-- | app/helpers/environment_helper.rb | 10 | ||||
-rw-r--r-- | app/views/projects/builds/show.html.haml | 2 | ||||
-rw-r--r-- | spec/features/projects/builds_spec.rb | 31 |
3 files changed, 19 insertions, 24 deletions
diff --git a/app/helpers/environment_helper.rb b/app/helpers/environment_helper.rb index 96d6f64eb8e..ff8550439d0 100644 --- a/app/helpers/environment_helper.rb +++ b/app/helpers/environment_helper.rb @@ -14,14 +14,12 @@ module EnvironmentHelper end end - def deployment_link(deployment, text) + def deployment_link(deployment, text: nil) return unless deployment - if text - link_to text, [deployment.project.namespace.becomes(Namespace), deployment.project, deployment.deployable] - else - link_to "##{deployment.iid}", [deployment.project.namespace.becomes(Namespace), deployment.project, deployment.deployable] - end + link_label = text ? text : "##{deployment.iid}" + + link_to link_label, [deployment.project.namespace.becomes(Namespace), deployment.project, deployment.deployable] end def last_deployment_link_for_environment_build(project, build) diff --git a/app/views/projects/builds/show.html.haml b/app/views/projects/builds/show.html.haml index 3ef46872199..cdeb81372ee 100644 --- a/app/views/projects/builds/show.html.haml +++ b/app/views/projects/builds/show.html.haml @@ -46,7 +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 #{deployment_link(environment.last_deployment, 'latest deployment')} + and will overwrite the #{deployment_link(environment.last_deployment, text: 'latest deployment')} .prepend-top-default - if @build.erased? diff --git a/spec/features/projects/builds_spec.rb b/spec/features/projects/builds_spec.rb index ea99239d5fc..8c4d4320dc5 100644 --- a/spec/features/projects/builds_spec.rb +++ b/spec/features/projects/builds_spec.rb @@ -229,39 +229,36 @@ feature 'Builds', :feature do end context 'when build starts environment' do + let(:environment) { create(:environment, project: project) } + let(:pipeline) { create(:ci_pipeline, project: project) } + context 'build is successfull and has deployment' do - it 'shows a link for the build' do - environment = create(:environment, project: project) - pipeline = create(:ci_pipeline, project: project) - deployment = create(:deployment) - build1 = create(:ci_build, :success, environment: environment.name, deployments: [deployment], pipeline: pipeline) + let(:deployment) { create(:deployment) } + let(:build) { create(:ci_build, :success, environment: environment.name, deployments: [deployment], pipeline: pipeline) } - visit namespace_project_build_path(project.namespace, project, build1) + it 'shows a link for the build' do + visit namespace_project_build_path(project.namespace, project, build) expect(page).to have_link environment.name end end context 'build is complete and not successfull' do - it 'shows a link for the build' do - environment = create(:environment, project: project) - pipeline = create(:ci_pipeline, project: project) - build1 = create(:ci_build, :failed, environment: environment.name, pipeline: pipeline) + let(:build) { create(:ci_build, :failed, environment: environment.name, pipeline: pipeline) } - visit namespace_project_build_path(project.namespace, project, build1) + it 'shows a link for the build' do + visit namespace_project_build_path(project.namespace, project, build) expect(page).to have_link environment.name end end context 'build creates a new deployment' do - it 'shows a link to lastest deployment' do - environment = create(:environment, project: project) - create(:deployment, environment: environment, sha: project.commit.id) - pipeline = create(:ci_pipeline, project: project) - build1 = create(:ci_build, :success, environment: environment.name, pipeline: pipeline) + let!(:deployment) { create(:deployment, environment: environment, sha: project.commit.id) } + let(:build) { create(:ci_build, :success, environment: environment.name, pipeline: pipeline) } - visit namespace_project_build_path(project.namespace, project, build1) + it 'shows a link to lastest deployment' do + visit namespace_project_build_path(project.namespace, project, build) expect(page).to have_link('latest deployment') end |