Fix test failures caused by #19851
The error message when asserting `greater_than: BigDecimal.new` will give an error message based on how BigDecimal displays itself. Big decimal appears to always use scientific notation. This might not be the best error message for the general case, but the general case wouldn't use big decimal for the validation. And if they do, they likely need this level of precision.
This commit is contained in:
parent
ed8bcd6934
commit
12df3391e3
@ -74,7 +74,7 @@ def test_validates_numericality_with_greater_than
|
||||
def test_validates_numericality_with_greater_than_using_differing_numeric_types
|
||||
Topic.validates_numericality_of :approved, greater_than: BigDecimal.new('97.18')
|
||||
|
||||
invalid!([-97.18, BigDecimal.new('97.18'), BigDecimal('-97.18')], 'must be greater than 97.18')
|
||||
invalid!([-97.18, BigDecimal.new('97.18'), BigDecimal('-97.18')], 'must be greater than 0.9718E2')
|
||||
valid!([97.18, 98, BigDecimal.new('98')]) # Notice the 97.18 as a float is greater than 97.18 as a BigDecimal due to floating point precision
|
||||
end
|
||||
|
||||
@ -88,7 +88,7 @@ def test_validates_numericality_with_greater_than_or_equal
|
||||
def test_validates_numericality_with_greater_than_or_equal_using_differing_numeric_types
|
||||
Topic.validates_numericality_of :approved, greater_than_or_equal_to: BigDecimal.new('97.18')
|
||||
|
||||
invalid!([-97.18, 97.17, 97, BigDecimal.new('97.17'), BigDecimal.new('-97.18')], 'must be greater than or equal to 97.18')
|
||||
invalid!([-97.18, 97.17, 97, BigDecimal.new('97.17'), BigDecimal.new('-97.18')], 'must be greater than or equal to 0.9718E2')
|
||||
valid!([97.18, 98, BigDecimal.new('97.19')])
|
||||
end
|
||||
|
||||
@ -102,7 +102,7 @@ def test_validates_numericality_with_equal_to
|
||||
def test_validates_numericality_with_equal_to_using_differing_numeric_types
|
||||
Topic.validates_numericality_of :approved, equal_to: BigDecimal.new('97.18')
|
||||
|
||||
invalid!([-97.18, 97.18], 'must be equal to 97.18')
|
||||
invalid!([-97.18, 97.18], 'must be equal to 0.9718E2')
|
||||
valid!([BigDecimal.new('97.18')])
|
||||
end
|
||||
|
||||
@ -116,7 +116,7 @@ def test_validates_numericality_with_less_than
|
||||
def test_validates_numericality_with_less_than_using_differing_numeric_types
|
||||
Topic.validates_numericality_of :approved, less_than: BigDecimal.new('97.18')
|
||||
|
||||
invalid!([97.18, BigDecimal.new('97.18')], 'must be less than 97.18')
|
||||
invalid!([97.18, BigDecimal.new('97.18')], 'must be less than 0.9718E2')
|
||||
valid!([-97.0, 97.0, -97, 97, BigDecimal.new('-97'), BigDecimal.new('97')])
|
||||
end
|
||||
|
||||
@ -130,7 +130,7 @@ def test_validates_numericality_with_less_than_or_equal_to
|
||||
def test_validates_numericality_with_less_than_or_equal_to_using_differing_numeric_types
|
||||
Topic.validates_numericality_of :approved, less_than_or_equal_to: BigDecimal.new('97.18')
|
||||
|
||||
invalid!([97.18, 98], 'must be less than or equal to 97.18')
|
||||
invalid!([97.18, 98], 'must be less than or equal to 0.9718E2')
|
||||
valid!([-97.18, BigDecimal.new('-97.18'), BigDecimal.new('97.18')])
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user