From 34fcb4a1f78eed327495f120d516f1ee60aa2cac Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Wed, 27 Apr 2022 16:37:37 +0200 Subject: [PATCH] Order shipping methods by name + create spec --- app/controllers/concerns/checkout_callbacks.rb | 2 +- spec/system/consumer/split_checkout_spec.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/concerns/checkout_callbacks.rb b/app/controllers/concerns/checkout_callbacks.rb index acc168251e..1458a20050 100644 --- a/app/controllers/concerns/checkout_callbacks.rb +++ b/app/controllers/concerns/checkout_callbacks.rb @@ -47,7 +47,7 @@ module CheckoutCallbacks end def load_shipping_methods - @shipping_methods = available_shipping_methods + @shipping_methods = available_shipping_methods.sort_by(&:name) end def redirect_to_shop? diff --git a/spec/system/consumer/split_checkout_spec.rb b/spec/system/consumer/split_checkout_spec.rb index 8dcee8e27a..3cfa212461 100644 --- a/spec/system/consumer/split_checkout_spec.rb +++ b/spec/system/consumer/split_checkout_spec.rb @@ -182,6 +182,11 @@ describe "As a consumer, I want to checkout my order", js: true do expect(page).not_to have_content "Save as default shipping address" end + it 'display shipping methods alphabetically' do + shipping_methods = page.all(:field, "shipping_method_id").map { |field| field.sibling("label") }.map(&:text) + expect(shipping_methods).to eq ["A Free Shipping with required address", "Free Shipping", "Local", "Shipping with Fee", "Z Free Shipping without required address"] + end + it_behaves_like "when I have an out of stock product in my cart" end