diff --git a/app/assets/javascripts/admin/products/services/option_value_namer.js.coffee b/app/assets/javascripts/admin/products/services/option_value_namer.js.coffee index 8993e6a230..9d6d46a494 100644 --- a/app/assets/javascripts/admin/products/services/option_value_namer.js.coffee +++ b/app/assets/javascripts/admin/products/services/option_value_namer.js.coffee @@ -48,7 +48,7 @@ angular.module("admin.products").factory "OptionValueNamer", (VariantUnitManager option_value_value_unit_scaled: -> [unit_scale, unit_name] = @scale_for_unit_value() - value = @variant.unit_value / unit_scale + value = Math.round((@variant.unit_value / unit_scale) * 100) / 100 [value, unit_name] diff --git a/spec/javascripts/unit/admin/services/option_value_namer_spec.js.coffee b/spec/javascripts/unit/admin/services/option_value_namer_spec.js.coffee index 9ea0f7da7e..8eaae5bbee 100644 --- a/spec/javascripts/unit/admin/services/option_value_namer_spec.js.coffee +++ b/spec/javascripts/unit/admin/services/option_value_namer_spec.js.coffee @@ -97,6 +97,13 @@ describe "Option Value Namer", -> p.variant_unit_scale = scale v.unit_value = 100 * scale expect(namer.option_value_value_unit()).toEqual [100, unit] + + it "generates right values for volume with rounded values", -> + unit = 'L' + p.variant_unit = 'volume' + p.variant_unit_scale = 1.0 + v.unit_value = 0.7 + expect(namer.option_value_value_unit()).toEqual [700, 'mL'] it "chooses the correct scale when value is very small", -> p.variant_unit = 'volume'