diff --git a/app/models/concerns/nested_calculator_validation.rb b/app/models/concerns/nested_calculator_validation.rb index e7473e7413..b6cf2abc1b 100644 --- a/app/models/concerns/nested_calculator_validation.rb +++ b/app/models/concerns/nested_calculator_validation.rb @@ -21,7 +21,7 @@ module NestedCalculatorValidation def add_custom_error_messages calculator.errors.messages&.each do |attribute, msgs| msgs.each do |msg| - errors.add(:base, "#{localize_calculator_attributes[attribute]}: #{msg}") + errors.add(:base, "#{localize_calculator_attributes[attribute]} #{msg}") end end end diff --git a/spec/models/concerns/nested_calculator_validation_spec.rb b/spec/models/concerns/nested_calculator_validation_spec.rb index 7900e26f6d..d6e9551a5b 100644 --- a/spec/models/concerns/nested_calculator_validation_spec.rb +++ b/spec/models/concerns/nested_calculator_validation_spec.rb @@ -4,44 +4,44 @@ require 'spec_helper' shared_examples "a parent model that has a Calculator" do |parent_name| context "when the associated Calculator is valid" do - let(:parent) do + let(:valid_parent) do build(parent_name, calculator: Calculator::FlatRate.new(preferred_amount: 10)) end it "is valid" do - expect(parent).to be_valid + expect(valid_parent).to be_valid end end context "when the associated Calculator is invalid" do - let(:parent) do + let(:invalid_parent) do build(parent_name, calculator: Calculator::FlatRate.new(preferred_amount: "invalid")) end before do - parent.valid? + invalid_parent.valid? end it "is invalid" do - expect(parent).not_to be_valid + expect(invalid_parent).not_to be_valid end it "adds custom error messages to base" do - expect(parent.errors[:base]).to include(/^Amount: Invalid input/) + expect(invalid_parent.errors[:base]).to include(/^Amount: Invalid input/) end it "has the correct number of errors messages" do - error_messages = parent.errors.full_messages + error_messages = invalid_parent.errors.full_messages expect(error_messages.count).to eq 1 end it "does not include the generic Calculator error message" do - error_messages = parent.errors.full_messages + error_messages = invalid_parent.errors.full_messages expect(error_messages).not_to include(/^Calculator is invalid$/) end it "does not include error message that begins with 'Calculator preferred'" do - error_messages = parent.errors.full_messages + error_messages = invalid_parent.errors.full_messages expect(error_messages).not_to include(/^Calculator preferred/) end end @@ -57,9 +57,7 @@ shared_examples "a parent model that has a Calculator" do |parent_name| end it "adds custom error messages to base" do - expect(localized_parent.errors[:base]).to include( - /#{I18n.t('spree.localized_number.invalid_format')}/ - ) + expect(localized_parent.errors[:base]).to include(/Amount has an invalid format/) end end end