Add objectCheck

Squeeze fix for required object on this PR
This commit is contained in:
HelderSepu
2017-10-24 17:49:46 -04:00
parent 12d5132ed3
commit 87d11f99dd
2 changed files with 20 additions and 1 deletions

View File

@@ -568,6 +568,7 @@ export const validateParam = (param, isXml, isOAS3 = false) => {
// These checks should evaluate to true if the parameter's value is valid // These checks should evaluate to true if the parameter's value is valid
let stringCheck = type === "string" && value && !validateString(value) let stringCheck = type === "string" && value && !validateString(value)
let arrayCheck = type === "array" && Array.isArray(value) && value.length let arrayCheck = type === "array" && Array.isArray(value) && value.length
let objectCheck = type === "object" && value.length
let listCheck = type === "array" && Im.List.isList(value) && value.count() let listCheck = type === "array" && Im.List.isList(value) && value.count()
let fileCheck = type === "file" && value instanceof win.File let fileCheck = type === "file" && value instanceof win.File
let booleanCheck = type === "boolean" && !validateBoolean(value) let booleanCheck = type === "boolean" && !validateBoolean(value)
@@ -589,7 +590,7 @@ export const validateParam = (param, isXml, isOAS3 = false) => {
if (err) errors.push(err) if (err) errors.push(err)
} }
if ( required && !(stringCheck || arrayCheck || listCheck || fileCheck || booleanCheck || numberCheck || integerCheck) ) { if ( required && !(stringCheck || objectCheck || arrayCheck || listCheck || fileCheck || booleanCheck || numberCheck || integerCheck) ) {
errors.push("Required field is not provided") errors.push("Required field is not provided")
return errors return errors
} }

View File

@@ -326,6 +326,24 @@ describe("utils", function() {
expect( result ).toEqual( [] ) expect( result ).toEqual( [] )
}) })
it("validates required objects", function() {
// invalid object
param = {
required: true,
type: "object",
value: ""
}
assertValidateParam(param, ["Required field is not provided"])
// valid object
param = {
required: true,
type: "object",
value: "test"
}
assertValidateParam(param, [])
})
it("validates required strings", function() { it("validates required strings", function() {
// invalid string // invalid string
param = { param = {