diff --git a/lib/open_food_network/user_balance_calculator.rb b/lib/open_food_network/user_balance_calculator.rb index 32b7d2f1d4..73926c1d03 100644 --- a/lib/open_food_network/user_balance_calculator.rb +++ b/lib/open_food_network/user_balance_calculator.rb @@ -4,14 +4,29 @@ module OpenFoodNetwork @user = user @distributor = distributor end - + def balance - orders = Spree::Order.where(distributor_id: @distributor, user_id: @user) - order_total = orders.sum &:total - - payments = Spree::Payment.where(order_id: orders) - payment_total = payments.sum &:amount payment_total - order_total end + + + private + + def order_total + orders.sum &:total + end + + def payment_total + payments.sum &:amount + end + + + def orders + Spree::Order.where(distributor_id: @distributor, user_id: @user) + end + + def payments + Spree::Payment.where(order_id: orders) + end end end diff --git a/spec/lib/open_food_network/user_balance_calculator_spec.rb b/spec/lib/open_food_network/user_balance_calculator_spec.rb index 28a4c00c48..9588439f5e 100644 --- a/spec/lib/open_food_network/user_balance_calculator_spec.rb +++ b/spec/lib/open_food_network/user_balance_calculator_spec.rb @@ -39,6 +39,6 @@ module OpenFoodNetwork UserBalanceCalculator.new(user2, hub1).balance.should == 10 end end - end + end end end