@@ -48,6 +48,10 @@ describe('ColossussspAdapter', function () {
48
48
auctionStart : 1472239426000 ,
49
49
timeout : 5000 ,
50
50
uspConsent : '1YN-' ,
51
+ gdprConsent : {
52
+ consentString : 'xxx' ,
53
+ gdprApplies : 1
54
+ } ,
51
55
refererInfo : {
52
56
referer : 'http://www.example.com' ,
53
57
reachedTop : true ,
@@ -87,7 +91,7 @@ describe('ColossussspAdapter', function () {
87
91
it ( 'Returns valid data if array of bids is valid' , function ( ) {
88
92
let data = serverRequest . data ;
89
93
expect ( data ) . to . be . an ( 'object' ) ;
90
- expect ( data ) . to . have . all . keys ( 'deviceWidth' , 'deviceHeight' , 'language' , 'secure' , 'host' , 'page' , 'placements' , 'ccpa' ) ;
94
+ expect ( data ) . to . have . all . keys ( 'deviceWidth' , 'deviceHeight' , 'language' , 'secure' , 'host' , 'page' , 'placements' , 'ccpa' , 'gdpr_consent' , 'gdpr_require' ) ;
91
95
expect ( data . deviceWidth ) . to . be . a ( 'number' ) ;
92
96
expect ( data . deviceHeight ) . to . be . a ( 'number' ) ;
93
97
expect ( data . language ) . to . be . a ( 'string' ) ;
@@ -108,6 +112,53 @@ describe('ColossussspAdapter', function () {
108
112
expect ( placement . gpid ) . to . be . an ( 'string' ) ;
109
113
}
110
114
} ) ;
115
+
116
+ it ( 'Returns valid video data if array of bids is valid' , function ( ) {
117
+ const videoBid = {
118
+ ...bid ,
119
+ params : {
120
+ placement_id : 0 ,
121
+ traffic : 'video' ,
122
+ } ,
123
+ mediaTypes : {
124
+ video : {
125
+ playerSize : [ [ 300 , 300 ] ] ,
126
+ minduration : 5 ,
127
+ maxduration : 60
128
+ }
129
+ }
130
+ }
131
+ let serverRequest = spec . buildRequests ( [ videoBid ] , bidderRequest ) ;
132
+
133
+ let data = serverRequest . data ;
134
+ expect ( data ) . to . be . an ( 'object' ) ;
135
+ expect ( data ) . to . have . all . keys ( 'deviceWidth' , 'deviceHeight' , 'language' , 'secure' , 'host' , 'page' , 'placements' , 'ccpa' , 'gdpr_consent' , 'gdpr_require' ) ;
136
+ expect ( data . deviceWidth ) . to . be . a ( 'number' ) ;
137
+ expect ( data . deviceHeight ) . to . be . a ( 'number' ) ;
138
+ expect ( data . language ) . to . be . a ( 'string' ) ;
139
+ expect ( data . secure ) . to . be . within ( 0 , 1 ) ;
140
+ expect ( data . host ) . to . be . a ( 'string' ) ;
141
+ expect ( data . page ) . to . be . a ( 'string' ) ;
142
+ let placements = data [ 'placements' ] ;
143
+ for ( let i = 0 ; i < placements . length ; i ++ ) {
144
+ let placement = placements [ i ] ;
145
+ expect ( placement ) . to . have . all . keys ( 'placementId' , 'groupId' , 'eids' , 'bidId' , 'traffic' , 'schain' , 'floor' , 'gpid' , 'sizes' ,
146
+ 'playerSize' , 'minduration' , 'maxduration' , 'mimes' , 'protocols' , 'startdelay' , 'placement' , 'skip' , 'skipafter' ,
147
+ 'minbitrate' , 'maxbitrate' , 'delivery' , 'playbackmethod' , 'api' , 'linearity'
148
+ ) ;
149
+ expect ( placement . schain ) . to . be . an ( 'object' )
150
+ expect ( placement . placementId ) . to . be . a ( 'number' ) ;
151
+ expect ( placement . bidId ) . to . be . a ( 'string' ) ;
152
+ expect ( placement . traffic ) . to . be . a ( 'string' ) ;
153
+ expect ( placement . floor ) . to . be . an ( 'object' ) ;
154
+ expect ( placement . gpid ) . to . be . an ( 'string' ) ;
155
+ expect ( placement . sizes ) . to . be . an ( 'array' ) ;
156
+ expect ( placement . playerSize ) . to . be . an ( 'array' ) ;
157
+ expect ( placement . minduration ) . to . be . an ( 'number' ) ;
158
+ expect ( placement . maxduration ) . to . be . an ( 'number' ) ;
159
+ }
160
+ } ) ;
161
+
111
162
it ( 'Returns empty data if no valid requests are passed' , function ( ) {
112
163
serverRequest = spec . buildRequests ( [ ] , bidderRequest ) ;
113
164
let data = serverRequest . data ;
@@ -187,6 +238,49 @@ describe('ColossussspAdapter', function () {
187
238
expect ( serverResponses ) . to . be . an ( 'array' ) . that . is . empty ;
188
239
} ) ;
189
240
} ) ;
241
+
242
+ let videoResObject = {
243
+ body : [ {
244
+ requestId : '123' ,
245
+ mediaType : 'video' ,
246
+ cpm : 0.3 ,
247
+ width : 320 ,
248
+ height : 50 ,
249
+ vastUrl : '<XML>' ,
250
+ ttl : 1000 ,
251
+ creativeId : '123asd' ,
252
+ netRevenue : true ,
253
+ currency : 'USD' ,
254
+ meta : {
255
+ advertiserDomains : [ 'google.com' ] ,
256
+ advertiserId : 1234
257
+ }
258
+ } ]
259
+ } ;
260
+ let videoServerResponses = spec . interpretResponse ( videoResObject ) ;
261
+ it ( 'Returns an array of valid server video responses if response object is valid' , function ( ) {
262
+ expect ( videoServerResponses ) . to . be . an ( 'array' ) . that . is . not . empty ;
263
+ for ( let i = 0 ; i < videoServerResponses . length ; i ++ ) {
264
+ let dataItem = videoServerResponses [ i ] ;
265
+ expect ( dataItem ) . to . have . all . keys ( 'requestId' , 'cpm' , 'width' , 'height' , 'vastUrl' , 'ttl' , 'creativeId' ,
266
+ 'netRevenue' , 'currency' , 'mediaType' , 'meta' ) ;
267
+ expect ( dataItem . requestId ) . to . be . a ( 'string' ) ;
268
+ expect ( dataItem . cpm ) . to . be . a ( 'number' ) ;
269
+ expect ( dataItem . width ) . to . be . a ( 'number' ) ;
270
+ expect ( dataItem . height ) . to . be . a ( 'number' ) ;
271
+ expect ( dataItem . vastUrl ) . to . be . a ( 'string' ) ;
272
+ expect ( dataItem . ttl ) . to . be . a ( 'number' ) ;
273
+ expect ( dataItem . creativeId ) . to . be . a ( 'string' ) ;
274
+ expect ( dataItem . netRevenue ) . to . be . a ( 'boolean' ) ;
275
+ expect ( dataItem . currency ) . to . be . a ( 'string' ) ;
276
+ expect ( dataItem . mediaType ) . to . be . a ( 'string' ) ;
277
+ expect ( dataItem . meta ) . to . be . an ( 'object' ) . that . has . any . key ( 'advertiserDomains' ) ;
278
+ }
279
+ it ( 'Returns an empty array if invalid response is passed' , function ( ) {
280
+ videoServerResponses = spec . interpretResponse ( 'invalid_response' ) ;
281
+ expect ( videoServerResponses ) . to . be . an ( 'array' ) . that . is . empty ;
282
+ } ) ;
283
+ } ) ;
190
284
} ) ;
191
285
192
286
describe ( 'onBidWon' , function ( ) {
@@ -199,13 +293,13 @@ describe('ColossussspAdapter', function () {
199
293
} )
200
294
201
295
describe ( 'getUserSyncs' , function ( ) {
202
- let userSync = spec . getUserSyncs ( { } , { } , { } , { } ) ;
296
+ let userSync = spec . getUserSyncs ( { } , { } , { consentString : 'xxx' , gdprApplies : 1 } , { consentString : '1YN-' } ) ;
203
297
it ( 'Returns valid URL and type' , function ( ) {
204
298
expect ( userSync ) . to . be . an ( 'array' ) . with . lengthOf ( 1 ) ;
205
299
expect ( userSync [ 0 ] . type ) . to . exist ;
206
300
expect ( userSync [ 0 ] . url ) . to . exist ;
207
301
expect ( userSync [ 0 ] . type ) . to . be . equal ( 'hms.gif' ) ;
208
- expect ( userSync [ 0 ] . url ) . to . be . equal ( 'https://sync.colossusssp.com/hms.gif?pbjs=1&coppa=0' ) ;
302
+ expect ( userSync [ 0 ] . url ) . to . be . equal ( 'https://sync.colossusssp.com/hms.gif?pbjs=1&gdpr=0&gdpr_consent=xxx&ccpa_consent=1YN-& coppa=0' ) ;
209
303
} ) ;
210
304
} ) ;
211
305
} ) ;
0 commit comments