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