Add numericality validation for FlatPercentPerItem

This commit is contained in:
James Wu
2023-01-24 16:15:14 +09:00
committed by David Cook
parent 096e388fdf
commit 23beea8a13
2 changed files with 8 additions and 0 deletions

View File

@@ -14,6 +14,9 @@ class Calculator::FlatPercentPerItem < Spree::Calculator
localize_number :preferred_flat_percent
validates :preferred_flat_percent,
numericality: { message: :calculator_preferred_value_error }
def self.description
I18n.t(:flat_percent_per_item)
end

View File

@@ -5,6 +5,11 @@ 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 "calculates for a simple line item" do
line_item = Spree::LineItem.new price: 50, quantity: 2
expect(calculator.compute(line_item)).to eq 20