@@ -542,6 +542,13 @@ test('validateString method', () => {
542542 schema [ 'properties' ] [ 'a' ] [ 'required' ] = false ;
543543 data = { 'a' : '' }
544544 expect ( validator . validate ( data ) . isValid ) . toBe ( true ) ;
545+
546+ // 8. test invalid choice
547+ schema [ 'properties' ] [ 'a' ] [ 'choices' ] = [ 'one' , 'two' ] ;
548+ wrong_data = { 'a' : 'xxx' } ;
549+ expect ( validator . validate ( wrong_data ) . isValid ) . toBe ( false ) ;
550+ data = { 'a' : 'two' } ;
551+ expect ( validator . validate ( data ) . isValid ) . toBe ( true ) ;
545552} ) ;
546553
547554/* :TODO: Enable these tests later after writing format validations.
@@ -748,6 +755,16 @@ test('validateInteger method', () => {
748755 validator = new DataValidator ( schema ) ;
749756 expect ( validator . validate ( wrong_data ) . isValid ) . toBe ( false ) ;
750757 expect ( validator . validate ( data ) . isValid ) . toBe ( true ) ;
758+
759+ // 11. test invalid choice
760+ delete schema [ 'properties' ] [ 'a' ] [ 'exclusiveMinimum' ] ;
761+ delete schema [ 'properties' ] [ 'a' ] [ 'exclusiveMaximum' ] ;
762+ delete schema [ 'properties' ] [ 'a' ] [ 'multipleOf' ] ;
763+ schema [ 'properties' ] [ 'a' ] [ 'choices' ] = [ 1 , 2 ] ;
764+ wrong_data = { 'a' : 3 } ;
765+ expect ( validator . validate ( wrong_data ) . isValid ) . toBe ( false ) ;
766+ data = { 'a' : 1 } ;
767+ expect ( validator . validate ( data ) . isValid ) . toBe ( true ) ;
751768} ) ;
752769
753770test ( 'validateNumber method' , ( ) => {
@@ -868,4 +885,14 @@ test('validateNumber method', () => {
868885 validator = new DataValidator ( schema ) ;
869886 expect ( validator . validate ( wrong_data ) . isValid ) . toBe ( false ) ;
870887 expect ( validator . validate ( data ) . isValid ) . toBe ( true ) ;
888+
889+ // 10. test invalid choice
890+ delete schema [ 'properties' ] [ 'a' ] [ 'exclusiveMinimum' ] ;
891+ delete schema [ 'properties' ] [ 'a' ] [ 'exclusiveMaximum' ] ;
892+ delete schema [ 'properties' ] [ 'a' ] [ 'multipleOf' ] ;
893+ schema [ 'properties' ] [ 'a' ] [ 'choices' ] = [ 1 , 2 ] ;
894+ wrong_data = { 'a' : 3 } ;
895+ expect ( validator . validate ( wrong_data ) . isValid ) . toBe ( false ) ;
896+ data = { 'a' : 1 } ;
897+ expect ( validator . validate ( data ) . isValid ) . toBe ( true ) ;
871898} ) ;
0 commit comments