Rename :preferred_shipping_methods to :selected_shipping_methods on OrderCycle

It's a clearer name because 'preferred' implies there could be other unpreferred shipping methods available as well.

Co-authored-by: Maikel <maikel@email.org.au>
This commit is contained in:
Cillian O'Ruanaidh
2022-06-20 21:24:41 +01:00
committed by Filipe
parent cc5daf51b1
commit 67d4c38550
8 changed files with 35 additions and 35 deletions

View File

@@ -25,7 +25,7 @@ class OrderCycle < ApplicationRecord
has_many :order_cycle_schedules
has_many :schedules, through: :order_cycle_schedules
has_many :order_cycle_shipping_methods
has_many :preferred_shipping_methods, class_name: "Spree::ShippingMethod",
has_many :selected_shipping_methods, class_name: "Spree::ShippingMethod",
through: :order_cycle_shipping_methods,
source: :shipping_method
has_paper_trail meta: { custom_data: proc { |order_cycle| order_cycle.schedule_ids.to_s } }
@@ -181,7 +181,7 @@ class OrderCycle < ApplicationRecord
oc.schedule_ids = schedule_ids
oc.save!
exchanges.each { |e| e.clone!(oc) }
oc.preferred_shipping_method_ids = preferred_shipping_method_ids
oc.selected_shipping_method_ids = selected_shipping_method_ids
sync_subscriptions
oc.reload
end
@@ -296,10 +296,10 @@ class OrderCycle < ApplicationRecord
end
def shipping_methods
if simple? || preferred_shipping_methods.none?
if simple? || selected_shipping_methods.none?
attachable_shipping_methods
else
preferred_shipping_methods
selected_shipping_methods
end
end
@@ -311,12 +311,12 @@ class OrderCycle < ApplicationRecord
def all_distributors_have_at_least_one_shipping_method?
distributors.all? do |distributor|
(distributor.shipping_method_ids & preferred_shipping_method_ids).any?
(distributor.shipping_method_ids & selected_shipping_method_ids).any?
end
end
def at_least_one_shipping_method_selected_for_each_distributor
return if preferred_shipping_methods.none? ||
return if selected_shipping_methods.none? ||
coordinator.nil? ||
simple? ||
all_distributors_have_at_least_one_shipping_method?

View File

@@ -11,7 +11,7 @@ class OrderCycleForm
@user = user
@permissions = OpenFoodNetwork::Permissions.new(user)
@schedule_ids = order_cycle_params.delete(:schedule_ids)
@preferred_shipping_method_ids = order_cycle_params.delete(:preferred_shipping_method_ids)
@selected_shipping_method_ids = order_cycle_params.delete(:selected_shipping_method_ids)
end
def save
@@ -24,7 +24,7 @@ class OrderCycleForm
order_cycle.schedule_ids = schedule_ids
order_cycle.save!
apply_exchange_changes
attach_preferred_shipping_methods
attach_selected_shipping_methods
sync_subscriptions
true
end
@@ -48,11 +48,11 @@ class OrderCycleForm
OpenFoodNetwork::OrderCycleFormApplicator.new(order_cycle, user).go!
end
def attach_preferred_shipping_methods
return if @preferred_shipping_method_ids.nil?
def attach_selected_shipping_methods
return if @selected_shipping_method_ids.nil?
order_cycle.reload # so outgoing exchanges are up-to-date for shipping method validations
order_cycle.preferred_shipping_method_ids = preferred_shipping_method_ids
order_cycle.selected_shipping_method_ids = selected_shipping_method_ids
order_cycle.save!
end
@@ -62,14 +62,14 @@ class OrderCycleForm
end
end
def preferred_shipping_method_ids
@preferred_shipping_method_ids = @preferred_shipping_method_ids.reject(&:blank?).map(&:to_i)
def selected_shipping_method_ids
@selected_shipping_method_ids = @selected_shipping_method_ids.reject(&:blank?).map(&:to_i)
if order_cycle.attachable_shipping_methods.map(&:id).sort == @preferred_shipping_method_ids.sort
@preferred_shipping_method_ids = []
if order_cycle.attachable_shipping_methods.map(&:id).sort == @selected_shipping_method_ids.sort
@selected_shipping_method_ids = []
end
@preferred_shipping_method_ids
@selected_shipping_method_ids
end
def schedule_ids?

View File

@@ -17,7 +17,7 @@ module PermittedAttributes
:name, :orders_open_at, :orders_close_at, :coordinator_id,
:preferred_product_selection_from_coordinator_inventory_only,
:automatic_notifications,
{ schedule_ids: [], preferred_shipping_method_ids: [], coordinator_fee_ids: [] }
{ schedule_ids: [], selected_shipping_method_ids: [], coordinator_fee_ids: [] }
]
end

View File

@@ -13,7 +13,7 @@
%fieldset.no-border-bottom
%legend{ align: 'center'}= t('.checkout_options')
= hidden_field_tag "order_cycle[preferred_shipping_method_ids][]", ""
= hidden_field_tag "order_cycle[selected_shipping_method_ids][]", ""
%table.checkout-options
%thead
@@ -30,9 +30,9 @@
- shipping_methods.each do |shipping_method|
%p
%label
= check_box_tag "order_cycle[preferred_shipping_method_ids][]",
= check_box_tag "order_cycle[selected_shipping_method_ids][]",
shipping_method.id, @order_cycle.shipping_methods.include?(shipping_method),
id: "order_cycle_preferred_shipping_method_ids_#{shipping_method.id}"
id: "order_cycle_selected_shipping_method_ids_#{shipping_method.id}"
= shipping_method.name
- distributor.shipping_methods.backend.each do |shipping_method|
%label.disabled

View File

@@ -31,7 +31,7 @@ describe OrderCycle do
order_cycle = create(:distributor_order_cycle,
distributors: [distributor_i, distributor_ii])
order_cycle.preferred_shipping_method_ids = [
order_cycle.selected_shipping_method_ids = [
distributor_i_shipping_method.id,
distributor_ii_shipping_method.id
]
@@ -47,7 +47,7 @@ describe OrderCycle do
distributor_ii_shipping_method = create(:shipping_method, distributors: [distributor_i])
order_cycle = create(:distributor_order_cycle, distributors: [distributor_i, distributor_ii])
order_cycle.preferred_shipping_method_ids = [distributor_i_shipping_method.id]
order_cycle.selected_shipping_method_ids = [distributor_i_shipping_method.id]
expect(order_cycle).to be_invalid
expect(order_cycle.errors.to_a).to eq [
@@ -64,7 +64,7 @@ describe OrderCycle do
shipping_method = create(:shipping_method)
distributor = create(:distributor_enterprise, shipping_methods: [shipping_method])
order_cycle = create(:distributor_order_cycle, distributors: [distributor])
order_cycle.preferred_shipping_methods << shipping_method
order_cycle.selected_shipping_methods << shipping_method
shipping_method.update_column(:display_on, "back_end")
@@ -468,7 +468,7 @@ describe OrderCycle do
distributor = create(:distributor_enterprise)
shipping_method = create(:shipping_method, distributors: [distributor])
order_cycle = create(:distributor_order_cycle, distributors: [distributor])
order_cycle.preferred_shipping_methods << shipping_method
order_cycle.selected_shipping_methods << shipping_method
shipping_method.update_column(:display_on, "back_end")
@@ -721,7 +721,7 @@ describe OrderCycle do
it "returns all attachable shipping methods if no preferred shipping methods have been chosen" do
shipping_method = create(:shipping_method, distributors: [distributor])
expect(oc.preferred_shipping_methods).to be_empty
expect(oc.selected_shipping_methods).to be_empty
expect(oc.shipping_methods).to eq [shipping_method]
end
@@ -729,7 +729,7 @@ describe OrderCycle do
shipping_method_i = create(:shipping_method, distributors: [distributor])
shipping_method_ii = create(:shipping_method, distributors: [distributor])
oc.preferred_shipping_methods << shipping_method_ii
oc.selected_shipping_methods << shipping_method_ii
expect(oc.shipping_methods).to eq [shipping_method_ii]
end

View File

@@ -55,7 +55,7 @@ describe OrderAvailableShippingMethods do
shipping_method_iv = create(:shipping_method, distributors: [distributor_ii])
order_cycle = create(:distributor_order_cycle,
distributors: [distributor_i, distributor_ii])
order_cycle.preferred_shipping_methods << [shipping_method_i, shipping_method_iii]
order_cycle.selected_shipping_methods << [shipping_method_i, shipping_method_iii]
order = build(:order, distributor: distributor_i, order_cycle: order_cycle)
available_shipping_methods = OrderAvailableShippingMethods.new(order).to_a

View File

@@ -159,7 +159,7 @@ describe OrderCycleForm do
enterprise_fee_ids: []
}],
outgoing_exchanges: [outgoing_exchange_params],
preferred_shipping_method_ids: [shipping_method.id]
selected_shipping_method_ids: [shipping_method.id]
)
end
@@ -176,7 +176,7 @@ describe OrderCycleForm do
before do
params.merge!(
outgoing_exchanges: [outgoing_exchange_params],
preferred_shipping_method_ids: nil
selected_shipping_method_ids: nil
)
end
@@ -195,7 +195,7 @@ describe OrderCycleForm do
before do
params.merge!(
outgoing_exchanges: [outgoing_exchange_params],
preferred_shipping_method_ids: [other_distributor_shipping_method.id]
selected_shipping_method_ids: [other_distributor_shipping_method.id]
)
end
@@ -216,7 +216,7 @@ describe OrderCycleForm do
form = OrderCycleForm.new(
order_cycle,
params.except(:preferred_shipping_method_ids),
params.except(:selected_shipping_method_ids),
order_cycle.coordinator
)
@@ -232,7 +232,7 @@ describe OrderCycleForm do
order_cycle = create(:distributor_order_cycle, distributors: [distributor])
form = OrderCycleForm.new(order_cycle,
{ preferred_shipping_method_ids: [shipping_method.id] },
{ selected_shipping_method_ids: [shipping_method.id] },
order_cycle.coordinator)
expect(form.save).to be true
@@ -250,7 +250,7 @@ describe OrderCycleForm do
distributors: [distributor_i, distributor_ii])
form = OrderCycleForm.new(order_cycle,
{ preferred_shipping_method_ids: [shipping_method_i.id] },
{ selected_shipping_method_ids: [shipping_method_i.id] },
order_cycle.coordinator)
expect(form.save).to be false

View File

@@ -134,8 +134,8 @@ describe '
click_button 'Save and Next'
# And I select preferred shipping methods
check "order_cycle_preferred_shipping_method_ids_#{shipping_method_i.id}"
uncheck "order_cycle_preferred_shipping_method_ids_#{shipping_method_ii.id}"
check "order_cycle_selected_shipping_method_ids_#{shipping_method_i.id}"
uncheck "order_cycle_selected_shipping_method_ids_#{shipping_method_ii.id}"
click_button 'Save and Back to List'