13026: reset variant unit name if unit is not items

This commit is contained in:
Ahmed Ejaz
2024-12-11 03:14:11 +05:00
parent ee2a6bf2e6
commit 3e031ab735
2 changed files with 6 additions and 1 deletions

View File

@@ -65,6 +65,7 @@ module VariantUnits
def unit_value_attributes
units = { unit_presentation: option_value_name }
units.merge!(variant_unit:) if has_attribute?(:variant_unit)
units.merge!(variant_unit_name: '') if reset_variant_unit_name?
units
end
@@ -79,5 +80,9 @@ module VariantUnits
VariantUnits::OptionValueNamer.new(self).name
end
def reset_variant_unit_name?
has_attribute?(:variant_unit_name) && has_attribute?(:variant_unit) && variant_unit != 'items'
end
end
end

View File

@@ -987,11 +987,11 @@ RSpec.describe Spree::Variant do
variant.variant_unit = 'weight'
variant.variant_unit_scale = 1
variant.variant_unit_name = 'g'
variant.save!
expect(variant.variant_unit).to eq 'weight'
expect(variant.unit_presentation).to eq "1g"
expect(variant.variant_unit_name).to eq('')
variant.update(variant_unit: 'volume')