@@ -138,6 +138,35 @@ describe('PulsePoint Adapter Tests', function () {
138
138
}
139
139
}
140
140
} ] ;
141
+
142
+ const schainParamsSlotConfig = [ {
143
+ placementCode : '/DfpAccount1/slot1' ,
144
+ bidId : 'bid12345' ,
145
+ params : {
146
+ cp : 'p10000' ,
147
+ ct : 't10000' ,
148
+ cf : '1x1' ,
149
+ bcat : [ 'IAB-1' , 'IAB-20' ] ,
150
+ battr : [ 1 , 2 , 3 ] ,
151
+ bidfloor : 1.5 ,
152
+ badv : [ 'cocacola.com' , 'lays.com' ]
153
+ } ,
154
+ schain : {
155
+ 'ver' : '1.0' ,
156
+ 'complete' : 1 ,
157
+ 'nodes' : [
158
+ {
159
+ 'asi' : 'exchange1.com' ,
160
+ 'sid' : '1234' ,
161
+ 'hp' : 1 ,
162
+ 'rid' : 'bid-request-1' ,
163
+ 'name' : 'publisher' ,
164
+ 'domain' : 'publisher.com'
165
+ }
166
+ ]
167
+ } ,
168
+ } ] ;
169
+
141
170
const bidderRequest = {
142
171
refererInfo : {
143
172
referer : 'https://publisher.com/home'
@@ -210,15 +239,15 @@ describe('PulsePoint Adapter Tests', function () {
210
239
price : 1.25 ,
211
240
adm : 'This is an Ad#1' ,
212
241
crid : 'Creative#123' ,
213
- exp : 50 ,
214
- cur : 'GBP'
242
+ exp : 50
215
243
} , {
216
244
impid : ortbRequest . imp [ 1 ] . id ,
217
245
price : 1.25 ,
218
246
adm : 'This is an Ad#2' ,
219
247
crid : 'Creative#123'
220
248
} ]
221
- } ]
249
+ } ] ,
250
+ cur : 'GBP'
222
251
} ;
223
252
const bids = spec . interpretResponse ( { body : ortbResponse } , request ) ;
224
253
expect ( bids ) . to . have . lengthOf ( 2 ) ;
@@ -232,7 +261,7 @@ describe('PulsePoint Adapter Tests', function () {
232
261
expect ( secondBid . cpm ) . to . equal ( 1.25 ) ;
233
262
expect ( secondBid . ad ) . to . equal ( 'This is an Ad#2' ) ;
234
263
expect ( secondBid . ttl ) . to . equal ( 20 ) ;
235
- expect ( secondBid . currency ) . to . equal ( 'USD ' ) ;
264
+ expect ( secondBid . currency ) . to . equal ( 'GBP ' ) ;
236
265
} ) ;
237
266
238
267
it ( 'Verify full passback' , function ( ) {
@@ -485,6 +514,25 @@ describe('PulsePoint Adapter Tests', function () {
485
514
expect ( ortbRequest . imp [ 1 ] . ext ) . to . be . null ;
486
515
} ) ;
487
516
517
+ it ( 'Verify schain parameters' , function ( ) {
518
+ const request = spec . buildRequests ( schainParamsSlotConfig , bidderRequest ) ;
519
+ const ortbRequest = request . data ;
520
+ expect ( ortbRequest ) . to . not . equal ( null ) ;
521
+ expect ( ortbRequest . source ) . to . not . equal ( null ) ;
522
+ expect ( ortbRequest . source . ext ) . to . not . equal ( null ) ;
523
+ expect ( ortbRequest . source . ext . schain ) . to . not . equal ( null ) ;
524
+ expect ( ortbRequest . source . ext . schain . complete ) . to . equal ( 1 ) ;
525
+ expect ( ortbRequest . source . ext . schain . ver ) . to . equal ( '1.0' ) ;
526
+ expect ( ortbRequest . source . ext . schain . nodes ) . to . not . equal ( null ) ;
527
+ expect ( ortbRequest . source . ext . schain . nodes ) . to . lengthOf ( 1 ) ;
528
+ expect ( ortbRequest . source . ext . schain . nodes [ 0 ] . asi ) . to . equal ( 'exchange1.com' ) ;
529
+ expect ( ortbRequest . source . ext . schain . nodes [ 0 ] . sid ) . to . equal ( '1234' ) ;
530
+ expect ( ortbRequest . source . ext . schain . nodes [ 0 ] . hp ) . to . equal ( 1 ) ;
531
+ expect ( ortbRequest . source . ext . schain . nodes [ 0 ] . rid ) . to . equal ( 'bid-request-1' ) ;
532
+ expect ( ortbRequest . source . ext . schain . nodes [ 0 ] . name ) . to . equal ( 'publisher' ) ;
533
+ expect ( ortbRequest . source . ext . schain . nodes [ 0 ] . domain ) . to . equal ( 'publisher.com' ) ;
534
+ } ) ;
535
+
488
536
it ( 'Verify outstream renderer' , function ( ) {
489
537
const bidderRequestOutstream = Object . assign ( { } , bidderRequest , { bids : [ outstreamSlotConfig [ 0 ] ] } ) ;
490
538
const request = spec . buildRequests ( outstreamSlotConfig , bidderRequestOutstream ) ;
0 commit comments