From e607d5c161944d827028d162472617fec2b7f702 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Tue, 19 Apr 2022 15:16:07 +0200 Subject: [PATCH] Shipping method: disabled form element to not submit them As they're not handled by the backend --- app/assets/javascripts/admin/spree/calculator.js | 4 ++-- spec/system/admin/shipping_methods_spec.rb | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/admin/spree/calculator.js b/app/assets/javascripts/admin/spree/calculator.js index c5dbe0aed0..2dcd074af4 100644 --- a/app/assets/javascripts/admin/spree/calculator.js +++ b/app/assets/javascripts/admin/spree/calculator.js @@ -7,11 +7,11 @@ $(function() { if (calculator_select.val() === original_calc_type) { $('div.calculator-settings').show(); $('.calculator-settings-warning').hide(); - $('.calculator-settings').find('input,textarea').prop("disabled", false); + $('.calculator-settings').find('input,textarea,select').prop("disabled", false); } else { $('div.calculator-settings').hide(); $('.calculator-settings-warning').show(); - $('.calculator-settings').find('input,textarea').prop("disabled", true); + $('.calculator-settings').find('input,textarea,select').prop("disabled", true); } }); }) diff --git a/spec/system/admin/shipping_methods_spec.rb b/spec/system/admin/shipping_methods_spec.rb index 3afb2dc875..b8c7eb2e86 100644 --- a/spec/system/admin/shipping_methods_spec.rb +++ b/spec/system/admin/shipping_methods_spec.rb @@ -71,6 +71,18 @@ describe 'shipping methods' do expect(page).to have_field "shipping_method_distributor_ids_#{distributor2.id}", checked: false end + + it "handle when updating calculator type for Weight to Flat Rate" do + visit spree.edit_admin_shipping_method_path(@shipping_method) + + select2_select 'Weight (per kg or lb)', from: 'calc_type' + click_button 'Update' + + select2_select 'Flat Rate (per item)', from: 'calc_type' + click_button 'Update' + + expect(@shipping_method.reload.calculator_type).to eq("Calculator::PerItem") + end end context "as an enterprise user", js: true do