From 1d75aa45ef39220dff5799a81c18b9e268b02afc Mon Sep 17 00:00:00 2001 From: David Cook Date: Wed, 23 Oct 2024 21:43:43 +1100 Subject: [PATCH 1/2] spec --- spec/services/variant_units/option_value_namer_spec.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spec/services/variant_units/option_value_namer_spec.rb b/spec/services/variant_units/option_value_namer_spec.rb index c3f06746f5f..0835eb143e1 100644 --- a/spec/services/variant_units/option_value_namer_spec.rb +++ b/spec/services/variant_units/option_value_namer_spec.rb @@ -131,6 +131,15 @@ module VariantUnits end end + it "don't crash when variant_unit_name is nil" do + pending "#12939" + v = instance_double(Spree::Variant, variant_unit: 'items', variant_unit_scale: nil, + variant_unit_name: nil, unit_value: 100) + + option_value_namer = OptionValueNamer.new v + expect(option_value_namer.__send__(:option_value_value_unit)).to eq [100, ""] + end + it "generates singular values for item units when value is 1" do v = instance_double(Spree::Variant, variant_unit: 'items', variant_unit_scale: nil, variant_unit_name: 'packet', unit_value: 1) From 45ca2961ec7c6e9c0af294ed295b907f0732f3a3 Mon Sep 17 00:00:00 2001 From: David Cook Date: Wed, 23 Oct 2024 21:46:38 +1100 Subject: [PATCH 2/2] Avoid crash --- app/services/variant_units/option_value_namer.rb | 4 +++- spec/services/variant_units/option_value_namer_spec.rb | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/services/variant_units/option_value_namer.rb b/app/services/variant_units/option_value_namer.rb index 40b1bd04416..511a7a1bc04 100644 --- a/app/services/variant_units/option_value_namer.rb +++ b/app/services/variant_units/option_value_namer.rb @@ -41,7 +41,9 @@ def option_value_value_unit value, unit_name = option_value_value_unit_scaled else value = @nameable.unit_value - unit_name = pluralize(@nameable.variant_unit_name, value) + + unit_name = @nameable.variant_unit_name + unit_name = pluralize(unit_name, value) if unit_name.present? end value = value.to_i if value == value.to_i diff --git a/spec/services/variant_units/option_value_namer_spec.rb b/spec/services/variant_units/option_value_namer_spec.rb index 0835eb143e1..953db5bd56a 100644 --- a/spec/services/variant_units/option_value_namer_spec.rb +++ b/spec/services/variant_units/option_value_namer_spec.rb @@ -132,12 +132,11 @@ module VariantUnits end it "don't crash when variant_unit_name is nil" do - pending "#12939" v = instance_double(Spree::Variant, variant_unit: 'items', variant_unit_scale: nil, variant_unit_name: nil, unit_value: 100) option_value_namer = OptionValueNamer.new v - expect(option_value_namer.__send__(:option_value_value_unit)).to eq [100, ""] + expect(option_value_namer.__send__(:option_value_value_unit)).to eq [100, nil] end it "generates singular values for item units when value is 1" do