mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
fixup! Modify Calculator validation error messages [wip]
DC: the error message has now become "Amount Invalid input".
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user