From 18a681e231ca2fa0243fc70fabeab9ddee93e6b5 Mon Sep 17 00:00:00 2001 From: Owen Conti Date: Wed, 11 Oct 2017 19:50:02 -0600 Subject: [PATCH] Update all the validateParam tests to use the assertValidateParam factory --- test/core/utils.js | 263 +++++++++++++++++++-------------------------- 1 file changed, 113 insertions(+), 150 deletions(-) diff --git a/test/core/utils.js b/test/core/utils.js index d97de2cf..dd37a518 100644 --- a/test/core/utils.js +++ b/test/core/utils.js @@ -284,8 +284,8 @@ describe("utils", function() { // OAS3 version, using `schema` sub-object let oas3Param = { - value: param.value || null, - required: param.required || null, + value: param.value, + required: param.required, schema: { ...param, value: undefined, @@ -377,375 +377,338 @@ describe("utils", function() { assertValidateParam(param, []) // valid string - param = fromJS({ + param = { required: false, type: "string", value: "test" - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates required files", function() { // invalid file - param = fromJS({ + param = { required: true, type: "file", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // valid file - param = fromJS({ + param = { required: true, type: "file", value: new win.File() - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates optional files", function() { // invalid file - param = fromJS({ + param = { required: false, type: "file", value: "not a file" - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Value must be a file"] ) + } + assertValidateParam(param, ["Value must be a file"]) // valid (empty) file - param = fromJS({ + param = { required: false, type: "file", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // valid file - param = fromJS({ + param = { required: false, type: "file", value: new win.File() - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates required arrays", function() { // invalid (empty) array - param = fromJS({ + param = { required: true, type: "array", value: [] - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // invalid (not an array) - param = fromJS({ + param = { required: true, type: "array", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // invalid array, items do not match correct type - param = fromJS({ + param = { required: true, type: "array", value: [1], items: { type: "string" } - }) - result = validateParam( param, false ) - expect( result ).toEqual( [{index: 0, error: "Value must be a string"}] ) + } + assertValidateParam(param, [{index: 0, error: "Value must be a string"}]) // valid array, with no 'type' for items - param = fromJS({ + param = { required: true, type: "array", value: ["1"] - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // valid array, items match type - param = fromJS({ + param = { required: true, type: "array", value: ["1"], items: { type: "string" } - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates optional arrays", function() { // valid, empty array - param = fromJS({ + param = { required: false, type: "array", value: [] - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // invalid, items do not match correct type - param = fromJS({ + param = { required: false, type: "array", value: ["number"], items: { type: "number" } - }) - result = validateParam( param, false ) - expect( result ).toEqual( [{index: 0, error: "Value must be a number"}] ) + } + assertValidateParam(param, [{index: 0, error: "Value must be a number"}]) // valid - param = fromJS({ + param = { required: false, type: "array", value: ["test"], items: { type: "string" } - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates required booleans", function() { // invalid boolean value - param = fromJS({ + param = { required: true, type: "boolean", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // invalid boolean value (not a boolean) - param = fromJS({ + param = { required: true, type: "boolean", value: "test string" - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // valid boolean value - param = fromJS({ + param = { required: true, type: "boolean", value: "true" - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // valid boolean value - param = fromJS({ + param = { required: true, type: "boolean", value: false - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates optional booleans", function() { // valid (empty) boolean value - param = fromJS({ + param = { required: false, type: "boolean", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // invalid boolean value (not a boolean) - param = fromJS({ + param = { required: false, type: "boolean", value: "test string" - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Value must be a boolean"] ) + } + assertValidateParam(param, ["Value must be a boolean"]) // valid boolean value - param = fromJS({ + param = { required: false, type: "boolean", value: "true" - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // valid boolean value - param = fromJS({ + param = { required: false, type: "boolean", value: false - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates required numbers", function() { // invalid number, string instead of a number - param = fromJS({ + param = { required: true, type: "number", value: "test" - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // invalid number, undefined value - param = fromJS({ + param = { required: true, type: "number", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // valid number with min and max - param = fromJS({ + param = { required: true, type: "number", value: 10, minimum: 5, maximum: 99 - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // valid negative number with min and max - param = fromJS({ + param = { required: true, type: "number", value: -10, minimum: -50, maximum: -5 - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // invalid number with maximum:0 - param = fromJS({ + param = { required: true, type: "number", value: 1, maximum: 0 - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Value must be less than Maximum"] ) + } + assertValidateParam(param, ["Value must be less than Maximum"]) // invalid number with minimum:0 - param = fromJS({ + param = { required: true, type: "number", value: -10, minimum: 0 - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Value must be greater than Minimum"] ) + } + assertValidateParam(param, ["Value must be greater than Minimum"]) }) it("validates optional numbers", function() { // invalid number, string instead of a number - param = fromJS({ + param = { required: false, type: "number", value: "test" - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Value must be a number"] ) + } + assertValidateParam(param, ["Value must be a number"]) // valid (empty) number - param = fromJS({ + param = { required: false, type: "number", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // valid number - param = fromJS({ + param = { required: false, type: "number", value: 10 - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates required integers", function() { // invalid integer, string instead of an integer - param = fromJS({ + param = { required: true, type: "integer", value: "test" - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // invalid integer, undefined value - param = fromJS({ + param = { required: true, type: "integer", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Required field is not provided"] ) + } + assertValidateParam(param, ["Required field is not provided"]) // valid integer - param = fromJS({ + param = { required: true, type: "integer", value: 10 - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) it("validates optional integers", function() { // invalid integer, string instead of an integer - param = fromJS({ + param = { required: false, type: "integer", value: "test" - }) - result = validateParam( param, false ) - expect( result ).toEqual( ["Value must be an integer"] ) + } + assertValidateParam(param, ["Value must be an integer"]) // valid (empty) integer - param = fromJS({ + param = { required: false, type: "integer", value: undefined - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) // integers - param = fromJS({ + param = { required: false, type: "integer", value: 10 - }) - result = validateParam( param, false ) - expect( result ).toEqual( [] ) + } + assertValidateParam(param, []) }) })