diff --git a/app/helpers/order_cycles_helper.rb b/app/helpers/order_cycles_helper.rb index 579db4251e..2d230f19d2 100644 --- a/app/helpers/order_cycles_helper.rb +++ b/app/helpers/order_cycles_helper.rb @@ -20,11 +20,11 @@ module OrderCyclesHelper enterprises.map do |e| disabled_message = nil - if e.shipping_methods.empty? && e.payment_methods.empty? + if e.shipping_methods.empty? && e.payment_methods.available.empty? disabled_message = 'no shipping or payment methods' elsif e.shipping_methods.empty? disabled_message = 'no shipping methods' - elsif e.payment_methods.empty? + elsif e.payment_methods.available.empty? disabled_message = 'no payment methods' end diff --git a/spec/helpers/order_cycles_helper_spec.rb b/spec/helpers/order_cycles_helper_spec.rb index 3003fd63cf..c687463d59 100644 --- a/spec/helpers/order_cycles_helper_spec.rb +++ b/spec/helpers/order_cycles_helper_spec.rb @@ -18,6 +18,12 @@ describe OrderCyclesHelper do helper.order_cycle_hub_enterprises.should == [['enterprise (no payment methods)', e.id, {disabled: true}]] end + it "returns enterprises with unavailable payment methods as disabled" do + create(:shipping_method, distributors: [e]) + create(:payment_method, distributors: [e], active: false) + helper.order_cycle_hub_enterprises.should == [['enterprise (no payment methods)', e.id, {disabled: true}]] + end + it "returns enterprises with neither shipping nor payment methods as disabled" do helper.order_cycle_hub_enterprises.should == [['enterprise (no shipping or payment methods)', e.id, {disabled: true}]] end