@@ -382,20 +382,136 @@ describe('AutoCompleteEditor', () => {
382
382
} ) ;
383
383
384
384
describe ( 'validate method' , ( ) => {
385
- it ( 'should validate and return False when field is required and field is an empty string ' , ( ) => {
385
+ it ( 'should return False when field is required and field is empty' , ( ) => {
386
386
mockColumn . internalColumnEditor . required = true ;
387
387
editor = new AutoCompleteEditor ( editorArguments ) ;
388
388
const validation = editor . validate ( '' ) ;
389
389
390
390
expect ( validation ) . toEqual ( { valid : false , msg : 'Field is required' } ) ;
391
391
} ) ;
392
392
393
- it ( 'should validate and return True when field is required and field is a valid input value' , ( ) => {
393
+ it ( 'should return True when field is required and input is a valid input value' , ( ) => {
394
394
mockColumn . internalColumnEditor . required = true ;
395
395
editor = new AutoCompleteEditor ( editorArguments ) ;
396
- const validation = editor . validate ( 'gender ' ) ;
396
+ const validation = editor . validate ( 'text ' ) ;
397
397
398
- expect ( validation ) . toEqual ( { valid : true , msg : null } ) ;
398
+ expect ( validation ) . toEqual ( { valid : true , msg : '' } ) ;
399
+ } ) ;
400
+
401
+ it ( 'should return False when field is lower than a minLength defined' , ( ) => {
402
+ mockColumn . internalColumnEditor . minLength = 5 ;
403
+ editor = new AutoCompleteEditor ( editorArguments ) ;
404
+ const validation = editor . validate ( 'text' ) ;
405
+
406
+ expect ( validation ) . toEqual ( { valid : false , msg : 'Please make sure your text is at least 5 character(s)' } ) ;
407
+ } ) ;
408
+
409
+ it ( 'should return False when field is lower than a minLength defined using exclusive operator' , ( ) => {
410
+ mockColumn . internalColumnEditor . minLength = 5 ;
411
+ mockColumn . internalColumnEditor . operatorConditionalType = 'exclusive' ;
412
+ editor = new AutoCompleteEditor ( editorArguments ) ;
413
+ const validation = editor . validate ( 'text' ) ;
414
+
415
+ expect ( validation ) . toEqual ( { valid : false , msg : 'Please make sure your text is more than 5 character(s)' } ) ;
416
+ } ) ;
417
+
418
+ it ( 'should return True when field is equal to the minLength defined' , ( ) => {
419
+ mockColumn . internalColumnEditor . minLength = 4 ;
420
+ editor = new AutoCompleteEditor ( editorArguments ) ;
421
+ const validation = editor . validate ( 'text' ) ;
422
+
423
+ expect ( validation ) . toEqual ( { valid : true , msg : '' } ) ;
424
+ } ) ;
425
+
426
+ it ( 'should return False when field is greater than a maxLength defined' , ( ) => {
427
+ mockColumn . internalColumnEditor . maxLength = 10 ;
428
+ editor = new AutoCompleteEditor ( editorArguments ) ;
429
+ const validation = editor . validate ( 'text is 16 chars' ) ;
430
+
431
+ expect ( validation ) . toEqual ( { valid : false , msg : 'Please make sure your text is less than or equal to 10 characters' } ) ;
432
+ } ) ;
433
+
434
+ it ( 'should return False when field is greater than a maxLength defined using exclusive operator' , ( ) => {
435
+ mockColumn . internalColumnEditor . maxLength = 10 ;
436
+ mockColumn . internalColumnEditor . operatorConditionalType = 'exclusive' ;
437
+ editor = new AutoCompleteEditor ( editorArguments ) ;
438
+ const validation = editor . validate ( 'text is 16 chars' ) ;
439
+
440
+ expect ( validation ) . toEqual ( { valid : false , msg : 'Please make sure your text is less than 10 characters' } ) ;
441
+ } ) ;
442
+
443
+ it ( 'should return True when field is equal to the maxLength defined' , ( ) => {
444
+ mockColumn . internalColumnEditor . maxLength = 16 ;
445
+ editor = new AutoCompleteEditor ( editorArguments ) ;
446
+ const validation = editor . validate ( 'text is 16 chars' ) ;
447
+
448
+ expect ( validation ) . toEqual ( { valid : true , msg : '' } ) ;
449
+ } ) ;
450
+
451
+ it ( 'should return True when field is equal to the maxLength defined and "operatorType" is set to "inclusive"' , ( ) => {
452
+ mockColumn . internalColumnEditor . maxLength = 16 ;
453
+ mockColumn . internalColumnEditor . operatorConditionalType = 'inclusive' ;
454
+ editor = new AutoCompleteEditor ( editorArguments ) ;
455
+ const validation = editor . validate ( 'text is 16 chars' ) ;
456
+
457
+ expect ( validation ) . toEqual ( { valid : true , msg : '' } ) ;
458
+ } ) ;
459
+
460
+ it ( 'should return False when field is equal to the maxLength defined but "operatorType" is set to "exclusive"' , ( ) => {
461
+ mockColumn . internalColumnEditor . maxLength = 16 ;
462
+ mockColumn . internalColumnEditor . operatorConditionalType = 'exclusive' ;
463
+ editor = new AutoCompleteEditor ( editorArguments ) ;
464
+ const validation = editor . validate ( 'text is 16 chars' ) ;
465
+
466
+ expect ( validation ) . toEqual ( { valid : false , msg : 'Please make sure your text is less than 16 characters' } ) ;
467
+ } ) ;
468
+
469
+ it ( 'should return False when field is not between minLength & maxLength defined' , ( ) => {
470
+ mockColumn . internalColumnEditor . minLength = 0 ;
471
+ mockColumn . internalColumnEditor . maxLength = 10 ;
472
+ editor = new AutoCompleteEditor ( editorArguments ) ;
473
+ const validation = editor . validate ( 'text is 16 chars' ) ;
474
+
475
+ expect ( validation ) . toEqual ( { valid : false , msg : 'Please make sure your text length is between 0 and 10 characters' } ) ;
476
+ } ) ;
477
+
478
+ it ( 'should return True when field is is equal to maxLength defined when both min/max values are defined' , ( ) => {
479
+ mockColumn . internalColumnEditor . minLength = 0 ;
480
+ mockColumn . internalColumnEditor . maxLength = 16 ;
481
+ editor = new AutoCompleteEditor ( editorArguments ) ;
482
+ const validation = editor . validate ( 'text is 16 chars' ) ;
483
+
484
+ expect ( validation ) . toEqual ( { valid : true , msg : '' } ) ;
485
+ } ) ;
486
+
487
+ it ( 'should return True when field is is equal to minLength defined when "operatorType" is set to "inclusive" and both min/max values are defined' , ( ) => {
488
+ mockColumn . internalColumnEditor . minLength = 4 ;
489
+ mockColumn . internalColumnEditor . maxLength = 15 ;
490
+ mockColumn . internalColumnEditor . operatorConditionalType = 'inclusive' ;
491
+ editor = new AutoCompleteEditor ( editorArguments ) ;
492
+ const validation = editor . validate ( 'text' ) ;
493
+
494
+ expect ( validation ) . toEqual ( { valid : true , msg : '' } ) ;
495
+ } ) ;
496
+
497
+ it ( 'should return False when field is equal to maxLength but "operatorType" is set to "exclusive" when both min/max lengths are defined' , ( ) => {
498
+ mockColumn . internalColumnEditor . minLength = 4 ;
499
+ mockColumn . internalColumnEditor . maxLength = 16 ;
500
+ mockColumn . internalColumnEditor . operatorConditionalType = 'exclusive' ;
501
+ editor = new AutoCompleteEditor ( editorArguments ) ;
502
+ const validation1 = editor . validate ( 'text is 16 chars' ) ;
503
+ const validation2 = editor . validate ( 'text' ) ;
504
+
505
+ expect ( validation1 ) . toEqual ( { valid : false , msg : 'Please make sure your text length is between 4 and 16 characters' } ) ;
506
+ expect ( validation2 ) . toEqual ( { valid : false , msg : 'Please make sure your text length is between 4 and 16 characters' } ) ;
507
+ } ) ;
508
+
509
+ it ( 'should return False when field is greater than a maxValue defined' , ( ) => {
510
+ mockColumn . internalColumnEditor . maxLength = 10 ;
511
+ editor = new AutoCompleteEditor ( editorArguments ) ;
512
+ const validation = editor . validate ( 'Task is longer than 10 chars' ) ;
513
+
514
+ expect ( validation ) . toEqual ( { valid : false , msg : 'Please make sure your text is less than or equal to 10 characters' } ) ;
399
515
} ) ;
400
516
} ) ;
401
517
0 commit comments