@@ -217,7 +217,7 @@ describe('sharethrough adapter spec', function () {
217
217
video : {
218
218
pos : 3 ,
219
219
skip : 1 ,
220
- linearity : 0 ,
220
+ linearity : 1 ,
221
221
minduration : 10 ,
222
222
maxduration : 30 ,
223
223
playbackmethod : [ 1 ] ,
@@ -233,6 +233,8 @@ describe('sharethrough adapter spec', function () {
233
233
companiontype : 'companion type' ,
234
234
companionad : 'companion ad' ,
235
235
context : 'instream' ,
236
+ placement : 1 ,
237
+ plcmt : 1 ,
236
238
} ,
237
239
} ,
238
240
getFloor : ( ) => ( { currency : 'USD' , floor : 42 } ) ,
@@ -618,7 +620,7 @@ describe('sharethrough adapter spec', function () {
618
620
expect ( videoImp . pos ) . to . equal ( 3 ) ;
619
621
expect ( videoImp . topframe ) . to . equal ( 1 ) ;
620
622
expect ( videoImp . skip ) . to . equal ( 1 ) ;
621
- expect ( videoImp . linearity ) . to . equal ( 0 ) ;
623
+ expect ( videoImp . linearity ) . to . equal ( 1 ) ;
622
624
expect ( videoImp . minduration ) . to . equal ( 10 ) ;
623
625
expect ( videoImp . maxduration ) . to . equal ( 30 ) ;
624
626
expect ( videoImp . playbackmethod ) . to . deep . equal ( [ 1 ] ) ;
@@ -637,89 +639,66 @@ describe('sharethrough adapter spec', function () {
637
639
expect ( videoImp . companionad ) . to . equal ( 'companion ad' ) ;
638
640
} ) ;
639
641
640
- it ( 'should set defaults if no value provided' , ( ) => {
642
+ it ( 'should set defaults in some circumstances if no value provided' , ( ) => {
641
643
delete bidRequests [ 1 ] . mediaTypes . video . pos ;
642
- delete bidRequests [ 1 ] . mediaTypes . video . skip ;
643
- delete bidRequests [ 1 ] . mediaTypes . video . linearity ;
644
- delete bidRequests [ 1 ] . mediaTypes . video . minduration ;
645
- delete bidRequests [ 1 ] . mediaTypes . video . maxduration ;
646
- delete bidRequests [ 1 ] . mediaTypes . video . playbackmethod ;
647
- delete bidRequests [ 1 ] . mediaTypes . video . api ;
648
- delete bidRequests [ 1 ] . mediaTypes . video . mimes ;
649
- delete bidRequests [ 1 ] . mediaTypes . video . protocols ;
650
644
delete bidRequests [ 1 ] . mediaTypes . video . playerSize ;
651
- delete bidRequests [ 1 ] . mediaTypes . video . startdelay ;
652
- delete bidRequests [ 1 ] . mediaTypes . video . skipmin ;
653
- delete bidRequests [ 1 ] . mediaTypes . video . skipafter ;
654
- delete bidRequests [ 1 ] . mediaTypes . video . placement ;
655
- delete bidRequests [ 1 ] . mediaTypes . video . delivery ;
656
- delete bidRequests [ 1 ] . mediaTypes . video . battr ;
657
- delete bidRequests [ 1 ] . mediaTypes . video . companiontype ;
658
- delete bidRequests [ 1 ] . mediaTypes . video . companionad ;
659
645
660
646
const builtRequest = spec . buildRequests ( bidRequests , bidderRequest ) [ 1 ] ;
661
647
662
648
const videoImp = builtRequest . data . imp [ 0 ] . video ;
663
649
expect ( videoImp . pos ) . to . equal ( 0 ) ;
664
- expect ( videoImp . skip ) . to . equal ( 0 ) ;
665
- expect ( videoImp . linearity ) . to . equal ( 1 ) ;
666
- expect ( videoImp . minduration ) . to . equal ( 5 ) ;
667
- expect ( videoImp . maxduration ) . to . equal ( 60 ) ;
668
- expect ( videoImp . playbackmethod ) . to . deep . equal ( [ 2 ] ) ;
669
- expect ( videoImp . api ) . to . deep . equal ( [ 2 ] ) ;
670
- expect ( videoImp . mimes ) . to . deep . equal ( [ 'video/mp4' ] ) ;
671
- expect ( videoImp . protocols ) . to . deep . equal ( [ 2 , 3 , 5 , 6 , 7 , 8 ] ) ;
672
650
expect ( videoImp . w ) . to . equal ( 640 ) ;
673
651
expect ( videoImp . h ) . to . equal ( 360 ) ;
674
- expect ( videoImp . startdelay ) . to . equal ( 0 ) ;
675
- expect ( videoImp . skipmin ) . to . equal ( 0 ) ;
676
- expect ( videoImp . skipafter ) . to . equal ( 0 ) ;
677
- expect ( videoImp . placement ) . to . equal ( 1 ) ;
678
- expect ( videoImp . delivery ) . to . be . undefined ;
679
- expect ( videoImp . battr ) . to . be . undefined ;
680
- expect ( videoImp . companiontype ) . to . be . undefined ;
681
- expect ( videoImp . companionad ) . to . be . undefined ;
682
652
} ) ;
683
653
684
- describe ( 'outstream' , ( ) => {
685
- it ( 'should use placement value if provided' , ( ) => {
686
- bidRequests [ 1 ] . mediaTypes . video . context = 'outstream' ;
687
- bidRequests [ 1 ] . mediaTypes . video . placement = 3 ;
654
+ it ( 'should not set values in some circumstances when non-valid values are supplied' , ( ) => {
655
+ // arrange
656
+ bidRequests [ 1 ] . mediaTypes . video . api = 1 ; // non-array value, will not be used
657
+ bidRequests [ 1 ] . mediaTypes . video . battr = undefined ; // non-array value, will not be used
658
+ bidRequests [ 1 ] . mediaTypes . video . mimes = 'video/3gpp' ; // non-array value, will not be used
659
+ bidRequests [ 1 ] . mediaTypes . video . playbackmethod = null ; // non-array value, will not be used
660
+ bidRequests [ 1 ] . mediaTypes . video . protocols = [ ] ; // empty array, will not be used
688
661
689
- const builtRequest = spec . buildRequests ( bidRequests , bidderRequest ) [ 1 ] ;
690
- const videoImp = builtRequest . data . imp [ 0 ] . video ;
691
-
692
- expect ( videoImp . placement ) . to . equal ( 3 ) ;
693
- } ) ;
662
+ // act
663
+ const builtRequest = spec . buildRequests ( bidRequests , bidderRequest ) [ 1 ] ;
664
+ const videoImp = builtRequest . data . imp [ 0 ] . video ;
694
665
695
- it ( 'should default placement to 4 if not provided' , ( ) => {
696
- bidRequests [ 1 ] . mediaTypes . video . context = 'outstream' ;
666
+ // assert
667
+ expect ( videoImp . api ) . to . be . undefined ;
668
+ expect ( videoImp . battr ) . to . be . undefined ;
669
+ expect ( videoImp . mimes ) . to . be . undefined ;
670
+ expect ( videoImp . playbackmethod ) . to . be . undefined ;
671
+ expect ( videoImp . protocols ) . to . be . undefined ;
672
+ } ) ;
697
673
698
- const builtRequest = spec . buildRequests ( bidRequests , bidderRequest ) [ 1 ] ;
699
- const videoImp = builtRequest . data . imp [ 0 ] . video ;
674
+ it ( 'should not set a property if no corresponding property is detected on mediaTypes.video' , ( ) => {
675
+ // arrange
676
+ const propertiesToConsider = [
677
+ 'api' , 'battr' , 'companionad' , 'companiontype' , 'delivery' , 'linearity' , 'maxduration' , 'mimes' , 'minduration' , 'placement' , 'playbackmethod' , 'plcmt' , 'protocols' , 'skip' , 'skipafter' , 'skipmin' , 'startdelay'
678
+ ]
700
679
701
- expect ( videoImp . placement ) . to . equal ( 4 ) ;
680
+ // act
681
+ propertiesToConsider . forEach ( propertyToConsider => {
682
+ delete bidRequests [ 1 ] . mediaTypes . video [ propertyToConsider ] ;
702
683
} ) ;
684
+ const builtRequest = spec . buildRequests ( bidRequests , bidderRequest ) [ 1 ] ;
685
+ const videoImp = builtRequest . data . imp [ 0 ] . video ;
703
686
704
- it ( 'should not override "placement" value if "plcmt" prop is present' , ( ) => {
705
- // ASSEMBLE
706
- const ARBITRARY_PLACEMENT_VALUE = 99 ;
707
- const ARBITRARY_PLCMT_VALUE = 100 ;
708
-
709
- bidRequests [ 1 ] . mediaTypes . video . context = 'instream' ;
710
- bidRequests [ 1 ] . mediaTypes . video . placement = ARBITRARY_PLACEMENT_VALUE ;
687
+ // assert
688
+ propertiesToConsider . forEach ( propertyToConsider => {
689
+ expect ( videoImp [ propertyToConsider ] ) . to . be . undefined ;
690
+ } ) ;
691
+ } ) ;
711
692
712
- // adding "plcmt" property - this should prevent "placement" prop
713
- // from getting overridden to 1
714
- bidRequests [ 1 ] . mediaTypes . video [ 'plcmt' ] = ARBITRARY_PLCMT_VALUE ;
693
+ describe ( 'outstream' , ( ) => {
694
+ it ( 'should use placement value if provided' , ( ) => {
695
+ bidRequests [ 1 ] . mediaTypes . video . context = 'outstream' ;
696
+ bidRequests [ 1 ] . mediaTypes . video . placement = 3 ;
715
697
716
- // ACT
717
698
const builtRequest = spec . buildRequests ( bidRequests , bidderRequest ) [ 1 ] ;
718
699
const videoImp = builtRequest . data . imp [ 0 ] . video ;
719
700
720
- // ASSERT
721
- expect ( videoImp . placement ) . to . equal ( ARBITRARY_PLACEMENT_VALUE ) ;
722
- expect ( videoImp . plcmt ) . to . equal ( ARBITRARY_PLCMT_VALUE ) ;
701
+ expect ( videoImp . placement ) . to . equal ( 3 ) ;
723
702
} ) ;
724
703
} ) ;
725
704
} ) ;
0 commit comments