diff --git a/src/api/app/jobs/project_create_auto_cleanup_requests_job.rb b/src/api/app/jobs/project_create_auto_cleanup_requests_job.rb index ceed8093fde..9dd7cf47148 100644 --- a/src/api/app/jobs/project_create_auto_cleanup_requests_job.rb +++ b/src/api/app/jobs/project_create_auto_cleanup_requests_job.rb @@ -56,7 +56,7 @@ def autoclean_project(prj) attribute = prj.attribs.find_by_attrib_type_id(@cleanup_attribute.id) return unless attribute - time = Time.zone.parse(attribute.values.first.value) + time = Date.parse(attribute.values.first.value) rescue TypeError, ArgumentError # nil time raises TypeError return diff --git a/src/api/spec/jobs/project_create_auto_cleanup_requests_job_spec.rb b/src/api/spec/jobs/project_create_auto_cleanup_requests_job_spec.rb index f29ee50b123..6724b204c4a 100644 --- a/src/api/spec/jobs/project_create_auto_cleanup_requests_job_spec.rb +++ b/src/api/spec/jobs/project_create_auto_cleanup_requests_job_spec.rb @@ -52,5 +52,23 @@ expect(project.target_of_bs_request_actions.where(type: 'delete').count).to eq(0) end end + + context 'with empty cleanup time' do + before do + attribute.values.first.value = '' + attribute.save + end + + it { expect { subject }.not_to raise_error } + end + + context 'with invalid cleanup time' do + before do + attribute.values.first.value = '200000' + attribute.save + end + + it { expect { subject }.not_to raise_error } + end end end