From 67d4c38550e848d283597feb00dd5eb62c49c8f5 Mon Sep 17 00:00:00 2001 From: Cillian O'Ruanaidh Date: Mon, 20 Jun 2022 21:24:41 +0100 Subject: [PATCH] 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 --- app/models/order_cycle.rb | 12 +++++------ app/services/order_cycle_form.rb | 20 +++++++++---------- .../permitted_attributes/order_cycle.rb | 2 +- .../order_cycles/checkout_options.html.haml | 6 +++--- spec/models/order_cycle_spec.rb | 12 +++++------ .../order_available_shipping_methods_spec.rb | 2 +- spec/services/order_cycle_form_spec.rb | 12 +++++------ .../complex_creating_specific_time_spec.rb | 4 ++-- 8 files changed, 35 insertions(+), 35 deletions(-) diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index c552c4e45c..8c354e5e97 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -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? diff --git a/app/services/order_cycle_form.rb b/app/services/order_cycle_form.rb index 18e07553a8..926c49fbc3 100644 --- a/app/services/order_cycle_form.rb +++ b/app/services/order_cycle_form.rb @@ -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? diff --git a/app/services/permitted_attributes/order_cycle.rb b/app/services/permitted_attributes/order_cycle.rb index 8f5998b70d..e1b7555d6d 100644 --- a/app/services/permitted_attributes/order_cycle.rb +++ b/app/services/permitted_attributes/order_cycle.rb @@ -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 diff --git a/app/views/admin/order_cycles/checkout_options.html.haml b/app/views/admin/order_cycles/checkout_options.html.haml index ca76377eda..0e27b35394 100644 --- a/app/views/admin/order_cycles/checkout_options.html.haml +++ b/app/views/admin/order_cycles/checkout_options.html.haml @@ -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 diff --git a/spec/models/order_cycle_spec.rb b/spec/models/order_cycle_spec.rb index e6b3ff54a1..6d6c392399 100644 --- a/spec/models/order_cycle_spec.rb +++ b/spec/models/order_cycle_spec.rb @@ -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 diff --git a/spec/services/order_available_shipping_methods_spec.rb b/spec/services/order_available_shipping_methods_spec.rb index 5cfdde3e21..8157e2156f 100644 --- a/spec/services/order_available_shipping_methods_spec.rb +++ b/spec/services/order_available_shipping_methods_spec.rb @@ -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 diff --git a/spec/services/order_cycle_form_spec.rb b/spec/services/order_cycle_form_spec.rb index f2edeacbce..9d831daba5 100644 --- a/spec/services/order_cycle_form_spec.rb +++ b/spec/services/order_cycle_form_spec.rb @@ -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 diff --git a/spec/system/admin/order_cycles/complex_creating_specific_time_spec.rb b/spec/system/admin/order_cycles/complex_creating_specific_time_spec.rb index 19ab92a0bb..ad279fd799 100644 --- a/spec/system/admin/order_cycles/complex_creating_specific_time_spec.rb +++ b/spec/system/admin/order_cycles/complex_creating_specific_time_spec.rb @@ -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'