diff options
Diffstat (limited to 'spec/services/projects/update_pages_service_spec.rb')
-rw-r--r-- | spec/services/projects/update_pages_service_spec.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/services/projects/update_pages_service_spec.rb b/spec/services/projects/update_pages_service_spec.rb index 6bf2876f640..b735f4b6bc2 100644 --- a/spec/services/projects/update_pages_service_spec.rb +++ b/spec/services/projects/update_pages_service_spec.rb @@ -335,6 +335,41 @@ RSpec.describe Projects::UpdatePagesService do end end + context 'when retrying the job' do + let!(:older_deploy_job) do + create(:generic_commit_status, :failed, pipeline: pipeline, + ref: build.ref, + stage: 'deploy', + name: 'pages:deploy') + end + + before do + create(:ci_job_artifact, :correct_checksum, file: file, job: build) + create(:ci_job_artifact, file_type: :metadata, file_format: :gzip, file: metadata, job: build) + build.reload + end + + it 'marks older pages:deploy jobs retried' do + expect(execute).to eq(:success) + + expect(older_deploy_job.reload).to be_retried + end + + context 'when FF ci_fix_commit_status_retried is disabled' do + before do + stub_feature_flags(ci_fix_commit_status_retried: false) + end + + it 'does not mark older pages:deploy jobs retried' do + expect(execute).to eq(:success) + + expect(older_deploy_job.reload).not_to be_retried + end + end + end + + private + def deploy_status GenericCommitStatus.find_by(name: 'pages:deploy') end |