mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-09 03:20:21 +00:00
Fix fatal error in reports helper for orders without payments
This commit is contained in:
@@ -11,10 +11,13 @@ module Spree
|
||||
end
|
||||
|
||||
def report_payment_method_options(orders)
|
||||
orders.map do |o|
|
||||
pm = o.payments.first.payment_method
|
||||
[pm.andand.name, pm.andand.id]
|
||||
end.uniq
|
||||
orders.map do |order|
|
||||
payment_method = order.payments.first.andand.payment_method
|
||||
|
||||
next unless payment_method
|
||||
|
||||
[payment_method.name, payment_method.id]
|
||||
end.compact.uniq
|
||||
end
|
||||
|
||||
def report_shipping_method_options(orders)
|
||||
|
||||
25
spec/helpers/spree/admin/reports_helper_spec.rb
Normal file
25
spec/helpers/spree/admin/reports_helper_spec.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
|
||||
describe Spree::ReportsHelper, type: :helper do
|
||||
describe "#report_payment_method_options" do
|
||||
let(:order_with_payments) { create(:order_ready_to_ship) }
|
||||
let(:order_without_payments) { create(:order_with_line_items) }
|
||||
let(:orders) { [order_with_payments, order_without_payments] }
|
||||
let(:payment_method) { order_with_payments.payments.first.payment_method }
|
||||
|
||||
it "returns payment method select options for given orders" do
|
||||
select_options = helper.report_payment_method_options([order_with_payments])
|
||||
|
||||
expect(select_options).to eq [[payment_method.name, payment_method.id]]
|
||||
end
|
||||
|
||||
it "handles orders that don't have payments, without error" do
|
||||
select_options = helper.report_payment_method_options(orders)
|
||||
|
||||
expect(select_options).to eq [[payment_method.name, payment_method.id]]
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user