diff --git a/app/helpers/reports_helper.rb b/app/helpers/reports_helper.rb index e459c43231..54ce20bdd9 100644 --- a/app/helpers/reports_helper.rb +++ b/app/helpers/reports_helper.rb @@ -63,6 +63,6 @@ module ReportsHelper end def prices_sum(prices_list) - prices_list.sum + prices_list.compact.sum end end diff --git a/lib/reporting/reports/payments/itemised_payment_totals.rb b/lib/reporting/reports/payments/itemised_payment_totals.rb index a27463c602..f3f0f6526b 100644 --- a/lib/reporting/reports/payments/itemised_payment_totals.rb +++ b/lib/reporting/reports/payments/itemised_payment_totals.rb @@ -11,7 +11,7 @@ module Reporting product_total_price: proc { |orders| prices_sum(orders.map(&:item_total)) }, shipping_total_price: proc { |orders| prices_sum(orders.map(&:ship_total)) }, outstanding_balance_price: proc do |orders| - prices_sum(orders.map(&:outstanding_balance)) + prices_sum(orders.map(&:outstanding_balance).map(&:amount)) end, total_price: proc { |orders| prices_sum(orders.map(&:total)) } } diff --git a/lib/reporting/reports/payments/payment_totals.rb b/lib/reporting/reports/payments/payment_totals.rb index 389ade30d7..3d31b31650 100644 --- a/lib/reporting/reports/payments/payment_totals.rb +++ b/lib/reporting/reports/payments/payment_totals.rb @@ -14,7 +14,7 @@ module Reporting eft_price: proc { |orders| total_by_payment_method(orders, "EFT") }, paypal_price: proc { |orders| total_by_payment_method(orders, "PayPal") }, outstanding_balance_price: proc { |orders| - prices_sum(orders.map(&:outstanding_balance)) + prices_sum(orders.map(&:outstanding_balance).map(&:amount)) } } end diff --git a/spec/helpers/admin/reports_helper_spec.rb b/spec/helpers/admin/reports_helper_spec.rb index 70106c839e..1e94d7a3d0 100644 --- a/spec/helpers/admin/reports_helper_spec.rb +++ b/spec/helpers/admin/reports_helper_spec.rb @@ -24,7 +24,7 @@ RSpec.describe ReportsHelper do describe "#prices_sum" do it "sums to prices list roundind to 2 decimals" do - expect(helper.prices_sum([1, nil, 2.333333, 1.5, 2.0])).to eq(6.83) + expect(helper.prices_sum([1, nil, 2.33, 1.5, 2.0])).to eq(6.83) end end end