From e55aa420a89b9f71079d234f79a184f55265555d Mon Sep 17 00:00:00 2001 From: Ata Dahri Date: Mon, 28 Nov 2022 16:44:03 +0000 Subject: [PATCH 1/2] HOTT-2270: Fixed missing percent symbol in verbose duty --- app/formatters/duty_expression_formatter.rb | 2 +- app/models/measure.rb | 5 +---- spec/models/measure_spec.rb | 4 ++++ 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/formatters/duty_expression_formatter.rb b/app/formatters/duty_expression_formatter.rb index 7bab0299e..9342a4257 100644 --- a/app/formatters/duty_expression_formatter.rb +++ b/app/formatters/duty_expression_formatter.rb @@ -63,7 +63,7 @@ def format(opts = {}) output << if monetary_unit.present? && !verbose monetary_unit else - '%' unless verbose + '%' unless monetary_unit end if measurement_unit_abbreviation.present? output << if formatted diff --git a/app/models/measure.rb b/app/models/measure.rb index d49078935..083eb4b2e 100644 --- a/app/models/measure.rb +++ b/app/models/measure.rb @@ -403,10 +403,7 @@ def verbose_duty_expression end def prettify_generated_duty_expression!(duty_expression) - duty_expression.sub!(/\s\s/, ' ') - duty_expression.sub!(/\s%/, '%') if duty_expression.scan(/\d\s%/).present? - duty_expression.sub!(/\/\s[a-zA-Z]/, &:downcase) - duty_expression + duty_expression.sub(/\s\s/, ' ').gsub(/(\d)\s+%/, '\1%').sub(/\/\s[a-zA-Z]/, &:downcase) end def national_measurement_units_for(declarable) diff --git a/spec/models/measure_spec.rb b/spec/models/measure_spec.rb index afeff753b..542d02fb1 100644 --- a/spec/models/measure_spec.rb +++ b/spec/models/measure_spec.rb @@ -1428,6 +1428,10 @@ expect(measure.prettify_generated_duty_expression!(generated_string)).to eq '100% / percentage ABV (% vol) per 100 litre (hl)' end + it 'removes spaces if there are multiple % symbols' do + expect(measure.prettify_generated_duty_expression!('2.70 % + EAR MAX 6.20 % +ADSZR 11 %')).to eq '2.70% + EAR MAX 6.20% +ADSZR 11%' + end + it 'does not remove space if unit is not present' do expect(measure.prettify_generated_duty_expression!(generated_string_without_percent_amount)).to eq generated_string_without_percent_amount end From dffdad55fc022da6a9487bd3b44a54039eb95119 Mon Sep 17 00:00:00 2001 From: Ata Dahri Date: Mon, 28 Nov 2022 16:54:58 +0000 Subject: [PATCH 2/2] hott-2270: use gsub instead of sub --- app/models/measure.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/measure.rb b/app/models/measure.rb index 083eb4b2e..f63fffc20 100644 --- a/app/models/measure.rb +++ b/app/models/measure.rb @@ -403,7 +403,7 @@ def verbose_duty_expression end def prettify_generated_duty_expression!(duty_expression) - duty_expression.sub(/\s\s/, ' ').gsub(/(\d)\s+%/, '\1%').sub(/\/\s[a-zA-Z]/, &:downcase) + duty_expression.gsub(/\s\s/, ' ').gsub(/(\d)\s+%/, '\1%').sub(/\/\s[a-zA-Z]/, &:downcase) end def national_measurement_units_for(declarable)