@@ -392,107 +392,122 @@ describe('StoreForm', () => {
392
392
expect ( form . errors ) . to . include ( 'webhook-url:v8n_too_long' ) ;
393
393
} ) ;
394
394
395
- it ( 'produces the webhook-key:v8n_required error if legacy webhook is enabled and key is empty' , ( ) => {
395
+ it ( 'produces the webhook-key:v8n_required error if key is empty' , ( ) => {
396
396
const form = new Form ( ) ;
397
397
expect ( form . errors ) . to . not . include ( 'webhook-key:v8n_required' ) ;
398
398
399
- form . edit ( { use_webhook : true , webhook_key : '' } ) ;
399
+ form . edit ( { webhook_key : '' } ) ;
400
400
expect ( form . errors ) . to . include ( 'webhook-key:v8n_required' ) ;
401
- } ) ;
402
401
403
- it ( 'produces the webhook-key:v8n_required error if hmac for carts is enabled and key is empty' , ( ) => {
404
- const form = new Form ( ) ;
402
+ form . edit ( { webhook_key : 'abc' } ) ;
405
403
expect ( form . errors ) . to . not . include ( 'webhook-key:v8n_required' ) ;
406
-
407
- form . edit ( { use_cart_validation : true , webhook_key : '' } ) ;
408
- expect ( form . errors ) . to . include ( 'webhook-key:v8n_required' ) ;
409
404
} ) ;
410
405
411
- it ( 'produces the webhook-key:v8n_too_long error if legacy webhook is enabled and the key exceeds 500 characters' , ( ) => {
406
+ it ( 'produces the webhook-key:v8n_too_long error if legacy webhook is enabled and the key exceeds 100 characters' , ( ) => {
412
407
const form = new Form ( ) ;
413
408
414
409
form . edit ( { use_webhook : false , webhook_key : '' } ) ;
415
410
expect ( form . errors ) . to . not . include ( 'webhook-key:v8n_too_long' ) ;
416
411
417
- form . edit ( { use_webhook : false , webhook_key : 'A' . repeat ( 500 ) } ) ;
412
+ form . edit ( { use_webhook : false , webhook_key : 'A' . repeat ( 100 ) } ) ;
418
413
expect ( form . errors ) . to . not . include ( 'webhook-key:v8n_too_long' ) ;
419
414
420
- form . edit ( { use_webhook : false , webhook_key : 'A' . repeat ( 501 ) } ) ;
415
+ form . edit ( { use_webhook : false , webhook_key : 'A' . repeat ( 101 ) } ) ;
421
416
expect ( form . errors ) . to . include ( 'webhook-key:v8n_too_long' ) ;
422
417
423
418
form . edit ( { use_webhook : true , webhook_key : '' } ) ;
424
419
expect ( form . errors ) . to . not . include ( 'webhook-key:v8n_too_long' ) ;
425
420
426
- form . edit ( { use_webhook : true , webhook_key : 'A' . repeat ( 500 ) } ) ;
421
+ form . edit ( { use_webhook : true , webhook_key : 'A' . repeat ( 100 ) } ) ;
427
422
expect ( form . errors ) . to . not . include ( 'webhook-key:v8n_too_long' ) ;
428
423
429
424
form . edit ( { use_webhook : true , webhook_key : 'A' . repeat ( 501 ) } ) ;
430
425
expect ( form . errors ) . to . include ( 'webhook-key:v8n_too_long' ) ;
431
426
} ) ;
432
427
433
- [
434
- 'use-webhook:v8n_webhook_key_required' ,
435
- 'webhook-key-xml-datafeed:v8n_required' ,
436
- 'webhook-key:v8n_required' ,
437
- ] . forEach ( code => {
438
- it ( `produces the ${ code } error when XML datafeed is enabled but webhook key is empty` , ( ) => {
439
- const form = new Form ( ) ;
440
- expect ( form . errors ) . to . not . include ( code ) ;
428
+ it ( `produces the use-webhook:v8n_webhook_key_required error when XML datafeed is enabled but webhook key is empty` , ( ) => {
429
+ const form = new Form ( ) ;
430
+ expect ( form . errors ) . to . not . include ( 'use-webhook:v8n_webhook_key_required' ) ;
441
431
442
- form . edit ( { use_webhook : true , webhook_key : '' } ) ;
443
- expect ( form . errors ) . to . include ( code ) ;
432
+ form . edit ( { use_webhook : true , webhook_key : '' } ) ;
433
+ expect ( form . errors ) . to . include ( 'use-webhook:v8n_webhook_key_required' ) ;
444
434
445
- form . edit ( { webhook_key : 'abc' } ) ;
446
- expect ( form . errors ) . to . not . include ( code ) ;
435
+ form . edit ( { webhook_key : 'abc' } ) ;
436
+ expect ( form . errors ) . to . not . include ( 'use-webhook:v8n_webhook_key_required' ) ;
447
437
448
- const props = { cart_signing : '' , xml_datafeed : '' , api_legacy : '' , sso : '' } ;
449
- form . edit ( { webhook_key : JSON . stringify ( props ) } ) ;
450
- expect ( form . errors ) . to . include ( code ) ;
438
+ const props = { cart_signing : '' , xml_datafeed : '' , api_legacy : '' , sso : '' } ;
439
+ form . edit ( { webhook_key : JSON . stringify ( props ) } ) ;
440
+ expect ( form . errors ) . to . include ( 'use-webhook:v8n_webhook_key_required' ) ;
451
441
452
- form . edit ( { webhook_key : JSON . stringify ( { ...props , xml_datafeed : 'abc' } ) } ) ;
453
- expect ( form . errors ) . to . not . include ( code ) ;
454
- } ) ;
442
+ form . edit ( { webhook_key : JSON . stringify ( { ...props , xml_datafeed : 'abc' } ) } ) ;
443
+ expect ( form . errors ) . to . not . include ( 'use-webhook:v8n_webhook_key_required' ) ;
455
444
} ) ;
456
445
457
- [
458
- 'use-cart-validation:v8n_webhook_key_required' ,
459
- 'webhook-key-cart-signing:v8n_required' ,
460
- 'webhook-key:v8n_required' ,
461
- ] . forEach ( code => {
462
- it ( `produces the ${ code } error when cart signing is enabled but webhook key is empty` , ( ) => {
463
- const form = new Form ( ) ;
464
- expect ( form . errors ) . to . not . include ( code ) ;
446
+ it ( `produces the use-cart-validation:v8n_webhook_key_required error when XML datafeed is enabled but webhook key is empty` , ( ) => {
447
+ const form = new Form ( ) ;
448
+ expect ( form . errors ) . to . not . include ( 'use-cart-validation:v8n_webhook_key_required' ) ;
449
+
450
+ form . edit ( { use_cart_validation : true , webhook_key : '' } ) ;
451
+ expect ( form . errors ) . to . include ( 'use-cart-validation:v8n_webhook_key_required' ) ;
465
452
466
- form . edit ( { use_cart_validation : true , webhook_key : '' } ) ;
467
- expect ( form . errors ) . to . include ( code ) ;
453
+ form . edit ( { webhook_key : 'abc ' } ) ;
454
+ expect ( form . errors ) . to . not . include ( 'use-cart-validation:v8n_webhook_key_required' ) ;
468
455
469
- form . edit ( { webhook_key : 'abc' } ) ;
470
- expect ( form . errors ) . to . not . include ( code ) ;
456
+ const props = { cart_signing : '' , xml_datafeed : '' , api_legacy : '' , sso : '' } ;
457
+ form . edit ( { webhook_key : JSON . stringify ( props ) } ) ;
458
+ expect ( form . errors ) . to . include ( 'use-cart-validation:v8n_webhook_key_required' ) ;
459
+
460
+ form . edit ( { webhook_key : JSON . stringify ( { ...props , cart_signing : 'abc' } ) } ) ;
461
+ expect ( form . errors ) . to . not . include ( 'use-cart-validation:v8n_webhook_key_required' ) ;
462
+ } ) ;
463
+
464
+ it ( `produces the use-single-sign-on:v8n_webhook_key_required error when XML datafeed is enabled but webhook key is empty` , ( ) => {
465
+ const form = new Form ( ) ;
466
+ expect ( form . errors ) . to . not . include ( 'use-single-sign-on:v8n_webhook_key_required' ) ;
467
+
468
+ form . edit ( { use_single_sign_on : true , webhook_key : '' } ) ;
469
+ expect ( form . errors ) . to . include ( 'use-single-sign-on:v8n_webhook_key_required' ) ;
470
+
471
+ form . edit ( { webhook_key : 'abc' } ) ;
472
+ expect ( form . errors ) . to . not . include ( 'use-single-sign-on:v8n_webhook_key_required' ) ;
473
+
474
+ const props = { cart_signing : '' , xml_datafeed : '' , api_legacy : '' , sso : '' } ;
475
+ form . edit ( { webhook_key : JSON . stringify ( props ) } ) ;
476
+ expect ( form . errors ) . to . include ( 'use-single-sign-on:v8n_webhook_key_required' ) ;
477
+
478
+ form . edit ( { webhook_key : JSON . stringify ( { ...props , sso : 'abc' } ) } ) ;
479
+ expect ( form . errors ) . to . not . include ( 'use-single-sign-on:v8n_webhook_key_required' ) ;
480
+ } ) ;
481
+
482
+ ( [ 'xml_datafeed' , 'cart_signing' , 'api_legacy' , 'sso' ] as const ) . forEach ( prop => {
483
+ const requiredCode = `webhook-key-${ prop . replace ( / _ / g, '-' ) } :v8n_required` ;
484
+ const tooLongCode = `webhook-key-${ prop . replace ( / _ / g, '-' ) } :v8n_too_long` ;
485
+
486
+ it ( `produces the ${ requiredCode } error when ${ prop } in webhook_key JSON is empty` , ( ) => {
487
+ const form = new Form ( ) ;
488
+ expect ( form . errors ) . to . not . include ( requiredCode ) ;
471
489
472
490
const props = { cart_signing : '' , xml_datafeed : '' , api_legacy : '' , sso : '' } ;
473
491
form . edit ( { webhook_key : JSON . stringify ( props ) } ) ;
474
- expect ( form . errors ) . to . include ( code ) ;
492
+ expect ( form . errors ) . to . include ( requiredCode ) ;
475
493
476
- form . edit ( { webhook_key : JSON . stringify ( { ...props , cart_signing : 'abc' } ) } ) ;
477
- expect ( form . errors ) . to . not . include ( code ) ;
494
+ form . edit ( { webhook_key : JSON . stringify ( { ...props , [ prop ] : 'abc' } ) } ) ;
495
+ expect ( form . errors ) . to . not . include ( requiredCode ) ;
478
496
} ) ;
479
- } ) ;
480
497
481
- ( [ 'xml_datafeed' , 'cart_signing' , 'api_legacy' , 'sso' ] as const ) . forEach ( prop => {
482
- const code = `webhook-key-${ prop . replace ( / _ / g, '-' ) } :v8n_too_long` ;
483
- it ( `produces the ${ code } error when ${ prop } in webhook_key JSON is more than 100 characters long` , ( ) => {
498
+ it ( `produces the ${ tooLongCode } error when ${ prop } in webhook_key JSON is more than 100 characters long` , ( ) => {
484
499
const form = new Form ( ) ;
485
- expect ( form . errors ) . to . not . include ( code ) ;
500
+ expect ( form . errors ) . to . not . include ( tooLongCode ) ;
486
501
487
502
const props = { cart_signing : '' , xml_datafeed : '' , api_legacy : '' , sso : '' } ;
488
503
form . edit ( { webhook_key : JSON . stringify ( props ) } ) ;
489
- expect ( form . errors ) . to . not . include ( code ) ;
504
+ expect ( form . errors ) . to . not . include ( tooLongCode ) ;
490
505
491
506
form . edit ( { webhook_key : JSON . stringify ( { ...props , [ prop ] : 'a' . repeat ( 100 ) } ) } ) ;
492
- expect ( form . errors ) . to . not . include ( code ) ;
507
+ expect ( form . errors ) . to . not . include ( tooLongCode ) ;
493
508
494
509
form . edit ( { webhook_key : JSON . stringify ( { ...props , [ prop ] : 'a' . repeat ( 101 ) } ) } ) ;
495
- expect ( form . errors ) . to . include ( code ) ;
510
+ expect ( form . errors ) . to . include ( tooLongCode ) ;
496
511
} ) ;
497
512
} ) ;
498
513
0 commit comments