@@ -358,7 +358,7 @@ describe('utils', () => {
358
358
let args = testObjects . initSampleArgs ;
359
359
360
360
it ( 'should call sendUsageReport' , ( ) => {
361
- sendUsageReportStub = sandbox
361
+ let sendUsageReportStub = sandbox
362
362
. stub ( utils , 'sendUsageReport' )
363
363
. callsFake ( function ( ) {
364
364
return 'end' ;
@@ -508,11 +508,10 @@ describe('utils', () => {
508
508
} ) ;
509
509
510
510
describe ( 'setTestEnvs' , ( ) => {
511
- it ( 'sets env only from args' , ( ) => {
511
+ it ( 'set env only from args' , ( ) => {
512
512
let argsEnv = 'env3=value3, env4=value4' ;
513
513
let bsConfig = {
514
514
run_settings : {
515
- env : 'env1=value1, env2=value2' ,
516
515
} ,
517
516
} ;
518
517
let args = {
@@ -523,7 +522,51 @@ describe('utils', () => {
523
522
expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env3=value3,env4=value4' ) ;
524
523
} ) ;
525
524
526
- it ( 'sets env from args without spaces in it' , ( ) => {
525
+ it ( 'set env only from browserstack.json env param' , ( ) => {
526
+ let bsConfig = {
527
+ run_settings : {
528
+ env : 'env1=value1, env2=value2' ,
529
+ } ,
530
+ } ;
531
+ let args = {
532
+ env : null
533
+ } ;
534
+
535
+ utils . setTestEnvs ( bsConfig , args ) ;
536
+ expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env1=value1,env2=value2' ) ;
537
+ } ) ;
538
+
539
+ it ( 'merges env from args and browserstack.json env param' , ( ) => {
540
+ let argsEnv = 'env3=value3, env4=value4' ;
541
+ let bsConfig = {
542
+ run_settings : {
543
+ env : 'env1=value1, env2=value2' ,
544
+ } ,
545
+ } ;
546
+ let args = {
547
+ env : argsEnv ,
548
+ } ;
549
+
550
+ utils . setTestEnvs ( bsConfig , args ) ;
551
+ expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env1=value1,env2=value2,env3=value3,env4=value4' ) ;
552
+ } ) ;
553
+
554
+ it ( 'merges env from args and browserstack.json env param but give preceedence to args' , ( ) => {
555
+ let argsEnv = 'env1=value0, env4=value4' ;
556
+ let bsConfig = {
557
+ run_settings : {
558
+ env : 'env1=value1, env2=value2' ,
559
+ } ,
560
+ } ;
561
+ let args = {
562
+ env : argsEnv ,
563
+ } ;
564
+
565
+ utils . setTestEnvs ( bsConfig , args ) ;
566
+ expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env1=value0,env2=value2,env4=value4' ) ;
567
+ } ) ;
568
+
569
+ it ( 'handle spaces passed while specifying env' , ( ) => {
527
570
let argsEnv = 'env3=value3 , env4=value4' ;
528
571
let bsConfig = {
529
572
run_settings : {
@@ -535,22 +578,64 @@ describe('utils', () => {
535
578
} ;
536
579
537
580
utils . setTestEnvs ( bsConfig , args ) ;
538
- expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env3=value3,env4=value4' ) ;
581
+ expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env1=value1,env2=value2, env3=value3,env4=value4' ) ;
539
582
} ) ;
540
583
541
- it ( 'does not set env if not specified in args' , ( ) => {
584
+ it ( 'set vars passed in system_env_vars' , ( ) => {
585
+ process . env . ENV1 = 'env1' ;
586
+ process . env . ENV2 = 'env2'
542
587
let argsEnv = 'env3=value3 , env4=value4' ;
543
588
let bsConfig = {
544
589
run_settings : {
545
590
env : 'env1=value1 , env2=value2' ,
591
+ system_env_vars : [ 'ENV1' , 'ENV2' ]
592
+ } ,
593
+ } ;
594
+ let args = {
595
+ env : argsEnv ,
596
+ } ;
597
+
598
+ utils . setTestEnvs ( bsConfig , args ) ;
599
+ expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env1=value1,env2=value2,ENV1=env1,ENV2=env2,env3=value3,env4=value4' ) ;
600
+ delete process . env . ENV1 ;
601
+ delete process . env . ENV2 ;
602
+ } ) ;
603
+
604
+ it ( 'set vars defined on machine as CYPRESS_ or cypress_' , ( ) => {
605
+ process . env . CYPRESS_TEST_1 = 'env1' ;
606
+ process . env . cypress_test_2 = 'env2'
607
+ let bsConfig = {
608
+ run_settings : {
609
+ env : null
546
610
} ,
547
611
} ;
548
612
let args = {
549
613
env : null ,
550
614
} ;
551
615
552
616
utils . setTestEnvs ( bsConfig , args ) ;
553
- expect ( bsConfig . run_settings . env ) . to . be . eq ( null ) ;
617
+ expect ( bsConfig . run_settings . env ) . to . be . eq ( 'CYPRESS_TEST_1=env1,cypress_test_2=env2' ) ;
618
+ delete process . env . CYPRESS_TEST_1 ;
619
+ delete process . env . cypress_test_2 ;
620
+ } ) ;
621
+
622
+ it ( 'set vars defined on machine as CYPRESS_ or cypress_ with args and env set in browserstack.json' , ( ) => {
623
+ process . env . CYPRESS_TEST_1 = 'env1' ;
624
+ process . env . cypress_test_2 = 'env2'
625
+ let argsEnv = 'env3=value3 , env4=value4' ;
626
+ let bsConfig = {
627
+ run_settings : {
628
+ env : 'env1=value1 , env2=value2'
629
+ } ,
630
+ } ;
631
+ let args = {
632
+ env : argsEnv ,
633
+ } ;
634
+
635
+ utils . setTestEnvs ( bsConfig , args ) ;
636
+ expect ( bsConfig . run_settings . env ) . to . be . eq ( 'env1=value1,env2=value2,CYPRESS_TEST_1=env1,cypress_test_2=env2,env3=value3,env4=value4' ) ;
637
+ delete process . env . CYPRESS_TEST_1 ;
638
+ delete process . env . cypress_test_2 ;
554
639
} ) ;
555
640
} ) ;
556
641
0 commit comments