FIX: CSV Exports were throwing errors with invalid dates
This fix will consider any invalid dates to be non-existant.
This commit is contained in:
parent
e8fad7a69e
commit
ce663d67e1
|
@ -182,8 +182,14 @@ module Jobs
|
|||
def report_export
|
||||
return enum_for(:report_export) unless block_given?
|
||||
|
||||
@extra[:start_date] = @extra[:start_date].to_date.beginning_of_day if @extra[:start_date].is_a?(String)
|
||||
@extra[:end_date] = @extra[:end_date].to_date.end_of_day if @extra[:end_date].is_a?(String)
|
||||
# If dates are invalid consider then `nil`
|
||||
if @extra[:start_date].is_a?(String)
|
||||
@extra[:start_date] = @extra[:start_date].to_date.beginning_of_day rescue nil
|
||||
end
|
||||
if @extra[:end_date].is_a?(String)
|
||||
@extra[:end_date] = @extra[:end_date].to_date.end_of_day rescue nil
|
||||
end
|
||||
|
||||
@extra[:filters] = {}
|
||||
if @extra[:category_id].present?
|
||||
@extra[:filters][:category] = @extra[:category_id].to_i
|
||||
|
|
|
@ -85,6 +85,14 @@ describe Jobs::ExportCsvFile do
|
|||
exporter
|
||||
end
|
||||
|
||||
it "does not throw an error when the dates are invalid" do
|
||||
Jobs::ExportCsvFile.new.execute(
|
||||
entity: 'report',
|
||||
user_id: user.id,
|
||||
args: { start_date: 'asdfasdf', end_date: 'not-a-date', name: 'dau_by_mau' }
|
||||
)
|
||||
end
|
||||
|
||||
it 'works with single-column reports' do
|
||||
user.user_visits.create!(visited_at: '2010-01-01', posts_read: 42)
|
||||
Fabricate(:user).user_visits.create!(visited_at: '2010-01-03', posts_read: 420)
|
||||
|
|
Loading…
Reference in New Issue