@@ -36,6 +36,7 @@ import {
3636 IsIn ,
3737 IsInt ,
3838 IsJSON ,
39+ IsJWT ,
3940 IsObject ,
4041 IsNotEmptyObject ,
4142 Length ,
@@ -2314,6 +2315,50 @@ describe("IsJSON", function() {
23142315
23152316} ) ;
23162317
2318+ describe ( "IsJWT" , function ( ) {
2319+
2320+ const validValues = [
2321+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI" ,
2322+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb3JlbSI6Imlwc3VtIn0.ymiJSsMJXR6tMSr8G9usjQ15_8hKPDv_CArLhxw28MI" ,
2323+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkb2xvciI6InNpdCIsImFtZXQiOlsibG9yZW0iLCJpcHN1bSJdfQ.rRpe04zbWbbJjwM43VnHzAboDzszJtGrNsUxaqQ-GQ8" ,
2324+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqb2huIjp7ImFnZSI6MjUsImhlaWdodCI6MTg1fSwiamFrZSI6eyJhZ2UiOjMwLCJoZWlnaHQiOjI3MH19.YRLPARDmhGMC3BBk_OhtwwK21PIkVCqQe8ncIRPKo-E" ,
2325+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ" , // No signature
2326+ ] ;
2327+ const invalidValues = [
2328+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9" ,
2329+ "$Zs.ewu.su84" ,
2330+ "ks64$S/9.dy$§kz.3sd73b" ,
2331+ ] ;
2332+
2333+ class MyClass {
2334+ @IsJWT ( )
2335+ someProperty : string ;
2336+ }
2337+
2338+ it ( "should not fail if validator.validate said that its valid" , function ( done ) {
2339+ checkValidValues ( new MyClass ( ) , validValues , done ) ;
2340+ } ) ;
2341+
2342+ it ( "should fail if validator.validate said that its invalid" , function ( done ) {
2343+ checkInvalidValues ( new MyClass ( ) , invalidValues , done ) ;
2344+ } ) ;
2345+
2346+ it ( "should not fail if method in validator said that its valid" , function ( ) {
2347+ validValues . forEach ( value => validator . isJWT ( value ) . should . be . true ) ;
2348+ } ) ;
2349+
2350+ it ( "should fail if method in validator said that its invalid" , function ( ) {
2351+ invalidValues . forEach ( value => validator . isJWT ( value ) . should . be . false ) ;
2352+ } ) ;
2353+
2354+ it ( "should return error object with proper data" , function ( done ) {
2355+ const validationType = "isJwt" ;
2356+ const message = "someProperty must be a jwt string" ;
2357+ checkReturnedError ( new MyClass ( ) , invalidValues , validationType , message , done ) ;
2358+ } ) ;
2359+
2360+ } ) ;
2361+
23172362describe ( "IsObject" , function ( ) {
23182363
23192364 const validValues = [ { "key" : "value" } , { key : "value" } , { } ] ;
0 commit comments