diff --git a/app/models/calculator/flexi_rate.rb b/app/models/calculator/flexi_rate.rb index bb6bb1ff9b..e8bb81458c 100644 --- a/app/models/calculator/flexi_rate.rb +++ b/app/models/calculator/flexi_rate.rb @@ -13,6 +13,10 @@ module Calculator localize_number :preferred_first_item, :preferred_additional_item + validates :preferred_first_item, + :preferred_additional_item, + numericality: { message: :calculator_preferred_value_error } + def self.description I18n.t(:flexible_rate) end diff --git a/spec/models/calculator/flexi_rate_spec.rb b/spec/models/calculator/flexi_rate_spec.rb index 81bbc95ee6..481df1a93e 100644 --- a/spec/models/calculator/flexi_rate_spec.rb +++ b/spec/models/calculator/flexi_rate_spec.rb @@ -12,6 +12,16 @@ describe Calculator::FlexiRate do ) end + it do + should validate_numericality_of(:preferred_first_item). + with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20") + end + + it do + should validate_numericality_of(:preferred_additional_item). + with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20") + end + context 'when nb of items ordered is above preferred max' do let(:quantity) { 4.0 }