@@ -36,6 +36,7 @@ import {
36
36
IsIn ,
37
37
IsInt ,
38
38
IsJSON ,
39
+ IsJWT ,
39
40
IsObject ,
40
41
IsNotEmptyObject ,
41
42
Length ,
@@ -2314,6 +2315,50 @@ describe("IsJSON", function() {
2314
2315
2315
2316
} ) ;
2316
2317
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
+
2317
2362
describe ( "IsObject" , function ( ) {
2318
2363
2319
2364
const validValues = [ { "key" : "value" } , { key : "value" } , { } ] ;
0 commit comments