Handle cases where maximum and minimum are 0

This commit is contained in:
Kyle Shockey
2017-09-28 17:59:07 -07:00
parent 27da2a7d3b
commit 012313e236
2 changed files with 31 additions and 9 deletions

View File

@@ -578,12 +578,12 @@ export const validateParam = (param, isXml) => {
return errors return errors
} }
if (maximum) { if (maximum || maximum === 0) {
let err = validateMaximum(value, maximum) let err = validateMaximum(value, maximum)
if (err) errors.push(err) if (err) errors.push(err)
} }
if (minimum) { if (minimum || minimum === 0) {
let err = validateMinimum(value, minimum) let err = validateMinimum(value, minimum)
if (err) errors.push(err) if (err) errors.push(err)
} }

View File

@@ -97,6 +97,7 @@ describe("utils", function() {
}) })
it("returns a message for invalid input", function() { it("returns a message for invalid input", function() {
expect(validateMaximum(1, 0)).toEqual(errorMessage)
expect(validateMaximum(10, 9)).toEqual(errorMessage) expect(validateMaximum(10, 9)).toEqual(errorMessage)
expect(validateMaximum(20, 19)).toEqual(errorMessage) expect(validateMaximum(20, 19)).toEqual(errorMessage)
}) })
@@ -111,6 +112,7 @@ describe("utils", function() {
}) })
it("returns a message for invalid input", function() { it("returns a message for invalid input", function() {
expect(validateMinimum(-1, 0)).toEqual(errorMessage)
expect(validateMinimum(1, 2)).toEqual(errorMessage) expect(validateMinimum(1, 2)).toEqual(errorMessage)
expect(validateMinimum(10, 20)).toEqual(errorMessage) expect(validateMinimum(10, 20)).toEqual(errorMessage)
}) })
@@ -623,6 +625,26 @@ describe("utils", function() {
}) })
result = validateParam( param, false ) result = validateParam( param, false )
expect( result ).toEqual( [] ) expect( result ).toEqual( [] )
// invalid number with maximum:0
param = fromJS({
required: true,
type: "number",
value: 1,
maximum: 0
})
result = validateParam( param, false )
expect( result ).toEqual( ["Value must be less than Maximum"] )
// invalid number with minimum:0
param = fromJS({
required: true,
type: "number",
value: -10,
minimum: 0
})
result = validateParam( param, false )
expect( result ).toEqual( ["Value must be greater than Minimum"] )
}) })
it("validates optional numbers", function() { it("validates optional numbers", function() {