Merge pull request #13027 from chahmedejaz/bugfix/13026-reset-variant-unit-name

Changing a variant unit scale from items to weight/volume does not remove variant unit name
This commit is contained in:
Filipe
2024-12-19 18:27:39 -06:00
committed by GitHub
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')