diff --git a/app/services/variant_units/option_value_namer.rb b/app/services/variant_units/option_value_namer.rb index 40b1bd0441..511a7a1bc0 100644 --- a/app/services/variant_units/option_value_namer.rb +++ b/app/services/variant_units/option_value_namer.rb @@ -41,7 +41,9 @@ module VariantUnits 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 c3f06746f5..953db5bd56 100644 --- a/spec/services/variant_units/option_value_namer_spec.rb +++ b/spec/services/variant_units/option_value_namer_spec.rb @@ -131,6 +131,14 @@ module VariantUnits end end + it "don't crash when variant_unit_name is nil" do + 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, nil] + 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)