mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-01 21:47:16 +00:00
Better helper naming and spec cover
This commit is contained in:
@@ -1,13 +1,19 @@
|
||||
module Admin
|
||||
module OrdersHelper
|
||||
def order_adjustments(order)
|
||||
# Adjustments to display under "Order adjustments".
|
||||
#
|
||||
# We exclude shipping method adjustments because they are displayed in a
|
||||
# separate table together with the order line items.
|
||||
#
|
||||
# We also exclude tax rate adjustment with zero value.
|
||||
def order_adjustments_for_display(order)
|
||||
order.adjustments.eligible.select do |adjustment|
|
||||
type = adjustment.originator_type
|
||||
|
||||
is_shipping_method_fee = (type == 'Spree::ShippingMethod')
|
||||
is_zero_tax_rate = (type == 'Spree::TaxRate' && adjustment.amount.zero?)
|
||||
is_shipping_method_adjustment = (type == 'Spree::ShippingMethod')
|
||||
is_zero_tax_rate_adjustment = (type == 'Spree::TaxRate' && adjustment.amount.zero?)
|
||||
|
||||
!is_shipping_method_fee && !is_zero_tax_rate
|
||||
!is_shipping_method_adjustment && !is_zero_tax_rate_adjustment
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
= render :partial => "spree/admin/orders/shipment", :collection => @order.shipments, :locals => { :order => order }
|
||||
|
||||
= render :partial => "spree/admin/orders/_form/adjustments", :locals => { :adjustments => @order.price_adjustments, :title => t(".line_item_adjustments")}
|
||||
= render :partial => "spree/admin/orders/_form/adjustments", :locals => { :adjustments => order_adjustments(@order), :title => t(".order_adjustments")}
|
||||
= render :partial => "spree/admin/orders/_form/adjustments", :locals => { :adjustments => order_adjustments_for_display(@order), :title => t(".order_adjustments")}
|
||||
|
||||
- if order.line_items.exists?
|
||||
%fieldset#order-total.no-border-bottom{"data-hook" => "order_details_total"}
|
||||
|
||||
25
spec/helpers/admin/orders_helper_spec.rb
Normal file
25
spec/helpers/admin/orders_helper_spec.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
require "spec_helper"
|
||||
|
||||
describe Admin::OrdersHelper, type: :helper do
|
||||
describe "#order_adjustments_for_display" do
|
||||
let(:order) { create(:order) }
|
||||
|
||||
it "selects eligible adjustments" do
|
||||
adjustment = create(:adjustment, adjustable: order, amount: 1)
|
||||
|
||||
expect(helper.order_adjustments_for_display(order)).to eq [adjustment]
|
||||
end
|
||||
|
||||
it "filters shipping method adjustments" do
|
||||
create(:adjustment, adjustable: order, amount: 1, originator_type: "Spree::ShippingMethod")
|
||||
|
||||
expect(helper.order_adjustments_for_display(order)).to eq []
|
||||
end
|
||||
|
||||
it "filters zero tax rate adjustments" do
|
||||
create(:adjustment, adjustable: order, amount: 0, originator_type: "Spree::TaxRate")
|
||||
|
||||
expect(helper.order_adjustments_for_display(order)).to eq []
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user