|
|
@@ -1,7 +1,23 @@ |
|
|
|
/* eslint-env mocha */ |
|
|
|
import expect from "expect" |
|
|
|
import { fromJS, OrderedMap } from "immutable" |
|
|
|
import { mapToList, validateMinLength, validateMaxLength, validateDateTime, validateGuid, validateNumber, validateInteger, validateParam, validateFile, fromJSOrdered, getAcceptControllingResponse, createDeepLinkPath, escapeDeepLinkPath } from "core/utils" |
|
|
|
import { |
|
|
|
mapToList, |
|
|
|
validateMinLength, |
|
|
|
validateMaxLength, |
|
|
|
validateDateTime, |
|
|
|
validateGuid, |
|
|
|
validateNumber, |
|
|
|
validateInteger, |
|
|
|
validateParam, |
|
|
|
validateFile, |
|
|
|
validateMaximum, |
|
|
|
validateMinimum, |
|
|
|
fromJSOrdered, |
|
|
|
getAcceptControllingResponse, |
|
|
|
createDeepLinkPath, |
|
|
|
escapeDeepLinkPath |
|
|
|
} from "core/utils" |
|
|
|
import win from "core/window" |
|
|
|
|
|
|
|
describe("utils", function() { |
|
|
@@ -72,6 +88,36 @@ describe("utils", function() { |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
describe("validateMaximum", function() { |
|
|
|
let errorMessage = "Value must be less than Maximum" |
|
|
|
|
|
|
|
it("doesn't return for valid input", function() { |
|
|
|
expect(validateMaximum(9, 10)).toBeFalsy() |
|
|
|
expect(validateMaximum(19, 20)).toBeFalsy() |
|
|
|
}) |
|
|
|
|
|
|
|
it("returns a message for invalid input", function() { |
|
|
|
expect(validateMaximum(1, 0)).toEqual(errorMessage) |
|
|
|
expect(validateMaximum(10, 9)).toEqual(errorMessage) |
|
|
|
expect(validateMaximum(20, 19)).toEqual(errorMessage) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
describe("validateMinimum", function() { |
|
|
|
let errorMessage = "Value must be greater than Minimum" |
|
|
|
|
|
|
|
it("doesn't return for valid input", function() { |
|
|
|
expect(validateMinimum(2, 1)).toBeFalsy() |
|
|
|
expect(validateMinimum(20, 10)).toBeFalsy() |
|
|
|
}) |
|
|
|
|
|
|
|
it("returns a message for invalid input", function() { |
|
|
|
expect(validateMinimum(-1, 0)).toEqual(errorMessage) |
|
|
|
expect(validateMinimum(1, 2)).toEqual(errorMessage) |
|
|
|
expect(validateMinimum(10, 20)).toEqual(errorMessage) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
describe("validateNumber", function() { |
|
|
|
let errorMessage = "Value must be a number" |
|
|
|
|
|
|
@@ -272,7 +318,7 @@ describe("utils", function() { |
|
|
|
result = validateParam( param, false ) |
|
|
|
expect( result ).toEqual( [] ) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
it("validates required strings with min and max length", function() { |
|
|
|
// invalid string with max length |
|
|
|
param = fromJS({ |
|
|
@@ -558,14 +604,47 @@ describe("utils", function() { |
|
|
|
result = validateParam( param, false ) |
|
|
|
expect( result ).toEqual( ["Required field is not provided"] ) |
|
|
|
|
|
|
|
// valid number |
|
|
|
// valid number with min and max |
|
|
|
param = fromJS({ |
|
|
|
required: true, |
|
|
|
type: "number", |
|
|
|
value: 10 |
|
|
|
value: 10, |
|
|
|
minimum: 5, |
|
|
|
maximum: 99 |
|
|
|
}) |
|
|
|
result = validateParam( param, false ) |
|
|
|
expect( result ).toEqual( [] ) |
|
|
|
|
|
|
|
// valid negative number with min and max |
|
|
|
param = fromJS({ |
|
|
|
required: true, |
|
|
|
type: "number", |
|
|
|
value: -10, |
|
|
|
minimum: -50, |
|
|
|
maximum: -5 |
|
|
|
}) |
|
|
|
result = validateParam( param, false ) |
|
|
|
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() { |
|
|
|