Remove customised error message

We're now handling these values on the frontend, so can keep this simple.

fixes up:
 Add numericality validation for *
 Add translation for Active Record error message
This commit is contained in:
David Cook
2023-04-28 11:49:32 +10:00
parent a46eef291c
commit 918425fd93
13 changed files with 15 additions and 47 deletions

View File

@@ -5,7 +5,7 @@ module Calculator
preference :flat_percent, :decimal, default: 0
validates :preferred_flat_percent,
numericality: { message: :calculator_preferred_value_error }
numericality: true
def self.description
Spree.t(:flat_percent)

View File

@@ -9,7 +9,7 @@ class Calculator::FlatPercentPerItem < Spree::Calculator
preference :flat_percent, :decimal, default: 0
validates :preferred_flat_percent,
numericality: { message: :calculator_preferred_value_error }
numericality: true
def self.description
I18n.t(:flat_percent_per_item)

View File

@@ -5,7 +5,7 @@ module Calculator
preference :amount, :decimal, default: 0
validates :preferred_amount,
numericality: { message: :calculator_preferred_value_error }
numericality: true
def self.description
I18n.t(:flat_rate_per_order)

View File

@@ -8,7 +8,7 @@ module Calculator
validates :preferred_first_item,
:preferred_additional_item,
numericality: { message: :calculator_preferred_value_error }
numericality: true
def self.description
I18n.t(:flexible_rate)

View File

@@ -5,7 +5,7 @@ module Calculator
preference :amount, :decimal, default: 0
validates :preferred_amount,
numericality: { message: :calculator_preferred_value_error }
numericality: true
def self.description
I18n.t(:flat_rate_per_item)

View File

@@ -9,7 +9,7 @@ module Calculator
validates :preferred_minimal_amount,
:preferred_normal_amount,
:preferred_discount_amount,
numericality: { message: :calculator_preferred_value_error }
numericality: true
def self.description
I18n.t(:price_sack)

View File

@@ -91,8 +91,6 @@ en:
preferred_unit_from_list: "Calculator Unit From List:"
preferred_per_unit: "Calculator Per Unit:"
errors:
messages:
calculator_preferred_value_error: "Invalid input. Please use only numbers. For example: 10, 5.5, -20"
models:
spree/user:
attributes:

View File

@@ -8,10 +8,7 @@ describe Calculator::FlatPercentItemTotal do
before { allow(calculator).to receive_messages preferred_flat_percent: 10 }
it do
should validate_numericality_of(:preferred_flat_percent).
with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20")
end
it { is_expected.to validate_numericality_of(:preferred_flat_percent) }
it "computes amount correctly for a single line item" do
expect(calculator.compute(line_item)).to eq(1.0)

View File

@@ -5,10 +5,7 @@ require 'spec_helper'
describe Calculator::FlatPercentPerItem do
let(:calculator) { Calculator::FlatPercentPerItem.new preferred_flat_percent: 20 }
it do
should validate_numericality_of(:preferred_flat_percent).
with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20")
end
it { is_expected.to validate_numericality_of(:preferred_flat_percent) }
it "calculates for a simple line item" do
line_item = Spree::LineItem.new price: 50, quantity: 2

View File

@@ -7,8 +7,5 @@ describe Calculator::FlatRate do
before { allow(calculator).to receive_messages preferred_amount: 10 }
it do
should validate_numericality_of(:preferred_amount).
with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20")
end
it { is_expected.to validate_numericality_of(:preferred_amount) }
end

View File

@@ -12,15 +12,8 @@ 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
it { is_expected.to validate_numericality_of(:preferred_first_item) }
it { is_expected.to validate_numericality_of(:preferred_additional_item) }
context 'when nb of items ordered is above preferred max' do
let(:quantity) { 4.0 }

View File

@@ -7,10 +7,7 @@ describe Calculator::PerItem do
let(:shipping_calculable) { double(:calculable) }
let(:line_item) { build_stubbed(:line_item, quantity: 5) }
it do
should validate_numericality_of(:preferred_amount).
with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20")
end
it { is_expected.to validate_numericality_of(:preferred_amount) }
it "correctly calculates on a single line item object" do
allow(calculator).to receive_messages(calculable: shipping_calculable)

View File

@@ -12,20 +12,9 @@ describe Calculator::PriceSack do
end
let(:line_item) { build_stubbed(:line_item, price: price, quantity: 2) }
it do
should validate_numericality_of(:preferred_minimal_amount).
with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20")
end
it do
should validate_numericality_of(:preferred_normal_amount).
with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20")
end
it do
should validate_numericality_of(:preferred_discount_amount).
with_message("Invalid input. Please use only numbers. For example: 10, 5.5, -20")
end
it { is_expected.to validate_numericality_of(:preferred_minimal_amount) }
it { is_expected.to validate_numericality_of(:preferred_normal_amount) }
it { is_expected.to validate_numericality_of(:preferred_discount_amount) }
context 'when the order amount is below preferred minimal' do
let(:price) { 2 }