Add validatePattern & UnitTest
This commit is contained in:
@@ -536,6 +536,13 @@ export const validateMinLength = (val, min) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const validatePattern = (val, rxPattern) => {
|
||||||
|
var patt = new RegExp(rxPattern);
|
||||||
|
if (!patt.test(val)) {
|
||||||
|
return "Value must follow pattern " + rxPattern
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// validation of parameters before execute
|
// validation of parameters before execute
|
||||||
export const validateParam = (param, isXml, isOAS3 = false) => {
|
export const validateParam = (param, isXml, isOAS3 = false) => {
|
||||||
let errors = []
|
let errors = []
|
||||||
@@ -549,6 +556,8 @@ export const validateParam = (param, isXml, isOAS3 = false) => {
|
|||||||
let format = paramDetails.get("format")
|
let format = paramDetails.get("format")
|
||||||
let maxLength = paramDetails.get("maxLength")
|
let maxLength = paramDetails.get("maxLength")
|
||||||
let minLength = paramDetails.get("minLength")
|
let minLength = paramDetails.get("minLength")
|
||||||
|
let pattern = paramDetails.get("pattern")
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
If the parameter is required OR the parameter has a value (meaning optional, but filled in)
|
If the parameter is required OR the parameter has a value (meaning optional, but filled in)
|
||||||
@@ -565,6 +574,11 @@ export const validateParam = (param, isXml, isOAS3 = false) => {
|
|||||||
let numberCheck = type === "number" && !validateNumber(value) // validateNumber returns undefined if the value is a number
|
let numberCheck = type === "number" && !validateNumber(value) // validateNumber returns undefined if the value is a number
|
||||||
let integerCheck = type === "integer" && !validateInteger(value) // validateInteger returns undefined if the value is an integer
|
let integerCheck = type === "integer" && !validateInteger(value) // validateInteger returns undefined if the value is an integer
|
||||||
|
|
||||||
|
if (pattern) {
|
||||||
|
let err = validatePattern(value, pattern)
|
||||||
|
if (err) errors.push(err)
|
||||||
|
}
|
||||||
|
|
||||||
if (maxLength || maxLength === 0) {
|
if (maxLength || maxLength === 0) {
|
||||||
let err = validateMaxLength(value, maxLength)
|
let err = validateMaxLength(value, maxLength)
|
||||||
if (err) errors.push(err)
|
if (err) errors.push(err)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import expect from "expect"
|
|||||||
import { fromJS, OrderedMap } from "immutable"
|
import { fromJS, OrderedMap } from "immutable"
|
||||||
import {
|
import {
|
||||||
mapToList,
|
mapToList,
|
||||||
|
validatePattern,
|
||||||
validateMinLength,
|
validateMinLength,
|
||||||
validateMaxLength,
|
validateMaxLength,
|
||||||
validateDateTime,
|
validateDateTime,
|
||||||
@@ -273,6 +274,21 @@ describe("utils", function() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe("validatePattern", function() {
|
||||||
|
let rxPattern = "^(red|blue)"
|
||||||
|
let errorMessage = "Value must follow pattern " + rxPattern
|
||||||
|
|
||||||
|
it("doesn't return for a match", function() {
|
||||||
|
expect(validatePattern("red", rxPattern)).toBeFalsy()
|
||||||
|
expect(validatePattern("blue", rxPattern)).toBeFalsy()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("returns a message for invalid pattern'", function() {
|
||||||
|
expect(validatePattern("pink", rxPattern)).toEqual(errorMessage)
|
||||||
|
expect(validatePattern("123", rxPattern)).toEqual(errorMessage)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
describe("validateParam", function() {
|
describe("validateParam", function() {
|
||||||
let param = null
|
let param = null
|
||||||
let result = null
|
let result = null
|
||||||
|
|||||||
Reference in New Issue
Block a user