mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-10 03:30:22 +00:00
Fix fatal error in reports helper for orders without payments
This commit is contained in:
@@ -11,10 +11,13 @@ module Spree
|
|||||||
end
|
end
|
||||||
|
|
||||||
def report_payment_method_options(orders)
|
def report_payment_method_options(orders)
|
||||||
orders.map do |o|
|
orders.map do |order|
|
||||||
pm = o.payments.first.payment_method
|
payment_method = order.payments.first.andand.payment_method
|
||||||
[pm.andand.name, pm.andand.id]
|
|
||||||
end.uniq
|
next unless payment_method
|
||||||
|
|
||||||
|
[payment_method.name, payment_method.id]
|
||||||
|
end.compact.uniq
|
||||||
end
|
end
|
||||||
|
|
||||||
def report_shipping_method_options(orders)
|
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