diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index e881f8299..2365dd8eb 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -44,11 +44,11 @@ class ReportsController < ApplicationController @period_type = params[:period_type]&.to_sym || :monthly @start_date = parse_date_param(:start_date) || default_start_date @end_date = parse_date_param(:end_date) || default_end_date - + # Validate and fix date range if end_date is before start_date # Don't show flash message since we're returning CSV data validate_and_fix_date_range(show_flash: false) - + @period = Period.custom(start_date: @start_date, end_date: @end_date) # Build monthly breakdown data for export diff --git a/test/controllers/reports_controller_test.rb b/test/controllers/reports_controller_test.rb index d597af925..e449b2aa8 100644 --- a/test/controllers/reports_controller_test.rb +++ b/test/controllers/reports_controller_test.rb @@ -95,13 +95,13 @@ class ReportsControllerTest < ActionDispatch::IntegrationTest test "index swaps dates when end_date is before start_date" do start_date = Date.current end_date = 1.month.ago.to_date - + get reports_path( period_type: :custom, start_date: start_date.to_s, end_date: end_date.to_s ) - + assert_response :ok # Should show flash message about invalid date range assert flash[:alert].present?, "Flash alert should be present" @@ -208,14 +208,14 @@ class ReportsControllerTest < ActionDispatch::IntegrationTest test "export transactions swaps dates when end_date is before start_date" do start_date = Date.current end_date = 1.month.ago.to_date - + get export_transactions_reports_path( format: :csv, period_type: :custom, start_date: start_date.to_s, end_date: end_date.to_s ) - + assert_response :ok assert_equal "text/csv", @response.media_type # Verify the CSV content is generated (should not crash)