From 13e59bca5303b9100aed18e85990d8182e19e426 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 11 Oct 2018 15:26:31 +0100 Subject: [PATCH 1/4] Fix erased block not being rendered when job was erased --- app/assets/javascripts/jobs/components/job_app.vue | 2 +- changelogs/unreleased/52570-erased-block.yml | 5 +++++ spec/features/projects/jobs_spec.rb | 11 +++++++++++ spec/javascripts/jobs/components/job_app_spec.js | 3 +-- 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 changelogs/unreleased/52570-erased-block.yml diff --git a/app/assets/javascripts/jobs/components/job_app.vue b/app/assets/javascripts/jobs/components/job_app.vue index 047e55866ce7..ebd4b127598b 100644 --- a/app/assets/javascripts/jobs/components/job_app.vue +++ b/app/assets/javascripts/jobs/components/job_app.vue @@ -87,7 +87,7 @@ /> <erased-block - v-if="job.erased" + v-if="job.erased_at" class="js-job-erased" :user="job.erased_by" :erased-at="job.erased_at" diff --git a/changelogs/unreleased/52570-erased-block.yml b/changelogs/unreleased/52570-erased-block.yml new file mode 100644 index 000000000000..523ad6819ae4 --- /dev/null +++ b/changelogs/unreleased/52570-erased-block.yml @@ -0,0 +1,5 @@ +--- +title: Fix erased block not being rendered when job was erased +merge_request: +author: +type: fixed diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index 2076ce7b4f75..f16634f7a0bd 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -663,6 +663,17 @@ expect(page).to have_content('This job does not have a trace.') end end + + context 'with erased job', :js do + let(:job) { create(:ci_build, :erased, pipeline: pipeline) } + + it'renders erased job warning' do + visit project_job_path(project, job) + wait_for_requests + + expect(page).to have_content('Job has been erased') + end + end end describe "POST /:project/jobs/:id/cancel", :js do diff --git a/spec/javascripts/jobs/components/job_app_spec.js b/spec/javascripts/jobs/components/job_app_spec.js index e02eb9723fee..31d3fa1e9c41 100644 --- a/spec/javascripts/jobs/components/job_app_spec.js +++ b/spec/javascripts/jobs/components/job_app_spec.js @@ -223,7 +223,6 @@ describe('Job App ', () => { store.dispatch( 'receiveJobSuccess', Object.assign({}, job, { - erased: true, erased_by: { username: 'root', web_url: 'gitlab.com/root', @@ -241,7 +240,7 @@ describe('Job App ', () => { }); it('does not render erased block when `erased` is false', () => { - store.dispatch('receiveJobSuccess', Object.assign({}, job, { erased: false })); + store.dispatch('receiveJobSuccess', Object.assign({}, job, { erased_at: null })); vm = mountComponentWithStore(Component, { props, -- GitLab From fafa2f7398860f931c3d582cbf4b7a846b207811 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 11 Oct 2018 14:29:43 +0000 Subject: [PATCH 2/4] Adds MR id to the changelog entry --- changelogs/unreleased/52570-erased-block.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelogs/unreleased/52570-erased-block.yml b/changelogs/unreleased/52570-erased-block.yml index 523ad6819ae4..6ec295bf81b5 100644 --- a/changelogs/unreleased/52570-erased-block.yml +++ b/changelogs/unreleased/52570-erased-block.yml @@ -1,5 +1,5 @@ --- title: Fix erased block not being rendered when job was erased -merge_request: +merge_request: 22294 author: type: fixed -- GitLab From b258cbabafc1121e1139511af51962733b2b5e6d Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 11 Oct 2018 15:52:26 +0000 Subject: [PATCH 3/4] Updates rspec to check for text within the erased block warning --- app/assets/javascripts/jobs/components/job_app.vue | 2 +- spec/features/projects/jobs_spec.rb | 6 ++++-- spec/javascripts/jobs/components/job_app_spec.js | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/jobs/components/job_app.vue b/app/assets/javascripts/jobs/components/job_app.vue index ebd4b127598b..6380f525120e 100644 --- a/app/assets/javascripts/jobs/components/job_app.vue +++ b/app/assets/javascripts/jobs/components/job_app.vue @@ -88,7 +88,7 @@ <erased-block v-if="job.erased_at" - class="js-job-erased" + class="js-job-erased-block" :user="job.erased_by" :erased-at="job.erased_at" /> diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index f16634f7a0bd..e11545a6b57b 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -670,8 +670,10 @@ it'renders erased job warning' do visit project_job_path(project, job) wait_for_requests - - expect(page).to have_content('Job has been erased') + + page.within('.js-job-erased-block') do + expect(page).to have_content('Job has been erased') + end end end end diff --git a/spec/javascripts/jobs/components/job_app_spec.js b/spec/javascripts/jobs/components/job_app_spec.js index 31d3fa1e9c41..ea6eb18cb23c 100644 --- a/spec/javascripts/jobs/components/job_app_spec.js +++ b/spec/javascripts/jobs/components/job_app_spec.js @@ -236,7 +236,7 @@ describe('Job App ', () => { store, }); - expect(vm.$el.querySelector('.js-job-erased')).not.toBeNull(); + expect(vm.$el.querySelector('.js-job-erased-block')).not.toBeNull(); }); it('does not render erased block when `erased` is false', () => { @@ -247,7 +247,7 @@ describe('Job App ', () => { store, }); - expect(vm.$el.querySelector('.js-job-erased')).toBeNull(); + expect(vm.$el.querySelector('.js-job-erased-block')).toBeNull(); }); }); -- GitLab From b358818d6efb9f86054ee4e179e5c53401393ed6 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 11 Oct 2018 16:42:26 +0000 Subject: [PATCH 4/4] Remove trailing whitespace jobs_spec.rb --- spec/features/projects/jobs_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index e11545a6b57b..d981a919fd81 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -670,7 +670,7 @@ it'renders erased job warning' do visit project_job_path(project, job) wait_for_requests - + page.within('.js-job-erased-block') do expect(page).to have_content('Job has been erased') end -- GitLab