@@ -6,62 +6,63 @@ import bidmanager from 'src/bidmanager';
6
6
import CONSTANTS from 'src/constants.json' ;
7
7
8
8
describe ( 'Adkernel adapter' , ( ) => {
9
+
9
10
const bid1_zone1 = {
10
- bidder : 'adkernel' ,
11
- bidId : 'Bid_01' ,
12
- params : { zoneId : 1 , host : 'rtb.adkernel.com' } ,
13
- placementCode : 'ad-unit-1' ,
14
- sizes : [ [ 300 , 250 ] ]
15
- } , bid2_zone2 = {
16
- bidder : 'adkernel' ,
17
- bidId : 'Bid_02' ,
18
- params : { zoneId : 2 , host : 'rtb.adkernel.com' } ,
19
- placementCode : 'ad-unit-2' ,
20
- sizes : [ [ 728 , 90 ] ]
21
- } , bid3_host2 = {
22
- bidder : 'adkernel' ,
23
- bidId : 'Bid_02' ,
24
- params : { zoneId : 1 , host : 'rtb-private.adkernel.com' } ,
25
- placementCode : 'ad-unit-2' ,
26
- sizes : [ [ 728 , 90 ] ]
27
- } , bid_without_zone = {
28
- bidder : 'adkernel' ,
29
- bidId : 'Bid_W' ,
30
- params : { host : 'rtb-private.adkernel.com' } ,
31
- placementCode : 'ad-unit-1' ,
32
- sizes : [ [ 728 , 90 ] ]
33
- } , bid_without_host = {
34
- bidder : 'adkernel' ,
35
- bidId : 'Bid_W' ,
36
- params : { zoneId : 1 } ,
37
- placementCode : 'ad-unit-1' ,
38
- sizes : [ [ 728 , 90 ] ]
39
- } ;
11
+ bidder : 'adkernel' ,
12
+ bidId : 'Bid_01' ,
13
+ params : { zoneId : 1 , host : 'rtb.adkernel.com' } ,
14
+ placementCode : 'ad-unit-1' ,
15
+ sizes : [ [ 300 , 250 ] ]
16
+ } , bid2_zone2 = {
17
+ bidder : 'adkernel' ,
18
+ bidId : 'Bid_02' ,
19
+ params : { zoneId : 2 , host : 'rtb.adkernel.com' } ,
20
+ placementCode : 'ad-unit-2' ,
21
+ sizes : [ [ 728 , 90 ] ]
22
+ } , bid3_host2 = {
23
+ bidder : 'adkernel' ,
24
+ bidId : 'Bid_02' ,
25
+ params : { zoneId : 1 , host : 'rtb-private.adkernel.com' } ,
26
+ placementCode : 'ad-unit-2' ,
27
+ sizes : [ [ 728 , 90 ] ]
28
+ } , bid_without_zone = {
29
+ bidder : 'adkernel' ,
30
+ bidId : 'Bid_W' ,
31
+ params : { host : 'rtb-private.adkernel.com' } ,
32
+ placementCode : 'ad-unit-1' ,
33
+ sizes : [ [ 728 , 90 ] ]
34
+ } , bid_without_host = {
35
+ bidder : 'adkernel' ,
36
+ bidId : 'Bid_W' ,
37
+ params : { zoneId : 1 } ,
38
+ placementCode : 'ad-unit-1' ,
39
+ sizes : [ [ 728 , 90 ] ]
40
+ } ;
40
41
41
42
const bidResponse1 = {
42
- 'id' : 'bid1' ,
43
- 'seatbid' : [ {
44
- 'bid' : [ {
45
- 'id' : '1' ,
46
- 'impid' : 'Bid_01' ,
47
- 'price' : 3.01 ,
48
- 'nurl' : 'https://rtb.com/win?i=ZjKoPYSFI3Y_0' ,
49
- 'adm' : '<!-- admarkup here -->'
50
- } ]
51
- } ] ,
52
- 'cur' : 'USD'
53
- } , bidResponse2 = {
54
- 'id' : 'bid2' ,
55
- 'seatbid' : [ {
56
- 'bid' : [ {
57
- 'id' : '2' ,
58
- 'impid' : 'Bid_02' ,
59
- 'price' : 1.31 ,
60
- 'adm' : '<!-- admarkup here -->'
61
- } ]
62
- } ] ,
63
- 'cur' : 'USD'
64
- } ;
43
+ 'id' : 'bid1' ,
44
+ 'seatbid' : [ {
45
+ 'bid' : [ {
46
+ 'id' : '1' ,
47
+ 'impid' : 'Bid_01' ,
48
+ 'price' : 3.01 ,
49
+ 'nurl' : 'https://rtb.com/win?i=ZjKoPYSFI3Y_0' ,
50
+ 'adm' : '<!-- admarkup here -->'
51
+ } ]
52
+ } ] ,
53
+ 'cur' : 'USD'
54
+ } , bidResponse2 = {
55
+ 'id' : 'bid2' ,
56
+ 'seatbid' : [ {
57
+ 'bid' : [ {
58
+ 'id' : '2' ,
59
+ 'impid' : 'Bid_02' ,
60
+ 'price' : 1.31 ,
61
+ 'adm' : '<!-- admarkup here -->'
62
+ } ]
63
+ } ] ,
64
+ 'cur' : 'USD'
65
+ } ;
65
66
66
67
let adapter ,
67
68
sandbox ,
@@ -85,6 +86,7 @@ describe('Adkernel adapter', () => {
85
86
}
86
87
87
88
describe ( 'input parameters validation' , ( ) => {
89
+
88
90
let spy ;
89
91
90
92
beforeEach ( ( ) => {
@@ -114,6 +116,7 @@ describe('Adkernel adapter', () => {
114
116
} ) ;
115
117
116
118
describe ( 'request building' , ( ) => {
119
+
117
120
let bidRequest ;
118
121
119
122
beforeEach ( ( ) => {
@@ -164,9 +167,11 @@ describe('Adkernel adapter', () => {
164
167
expect ( bidRequest . device ) . to . have . property ( 'ip' , 'caller' ) ;
165
168
expect ( bidRequest . device ) . to . have . property ( 'ua' , 'caller' ) ;
166
169
} )
170
+
167
171
} ) ;
168
172
169
173
describe ( 'requests routing' , ( ) => {
174
+
170
175
it ( 'should issue a request for each network' , ( ) => {
171
176
ajaxStub . onFirstCall ( ) . callsArgWith ( 1 , '' )
172
177
. onSecondCall ( ) . callsArgWith ( 1 , '' ) ;
@@ -193,6 +198,7 @@ describe('Adkernel adapter', () => {
193
198
} ) ;
194
199
195
200
describe ( 'responses processing' , ( ) => {
201
+
196
202
beforeEach ( ( ) => {
197
203
sandbox . stub ( bidmanager , 'addBidResponse' ) ;
198
204
} ) ;
@@ -238,26 +244,34 @@ describe('Adkernel adapter', () => {
238
244
sandbox . spy ( utils , 'createTrackPixelHtml' ) ;
239
245
ajaxStub . onCall ( 0 ) . callsArgWith ( 1 , JSON . stringify ( bidResponse1 ) ) ;
240
246
doRequest ( [ bid1_zone1 ] ) ;
241
- expect ( bidmanager . addBidResponse . firstCall . args [ 1 ] . getStatusCode ( ) ) . to . equal ( CONSTANTS . STATUS . GOOD ) ;
242
247
expect ( utils . createTrackPixelHtml . calledOnce ) ;
243
- let result = pbjs . getBidResponsesForAdUnitCode ( bid1_zone1 . placementCode ) ;
248
+ expect ( bidmanager . addBidResponse . firstCall . args [ 1 ] . getStatusCode ( ) ) . to . equal ( CONSTANTS . STATUS . GOOD ) ;
244
249
let expectedNurl = bidResponse1 . seatbid [ 0 ] . bid [ 0 ] . nurl + '&px=1' ;
245
- expect ( result . bids [ 0 ] . ad ) . to . include ( expectedNurl ) ;
250
+ expect ( bidmanager . addBidResponse . firstCall . args [ 1 ] . ad ) . to . include ( expectedNurl ) ;
246
251
} ) ;
247
252
248
253
it ( 'should perform usersync for each unique host/zone combination' , ( ) => {
249
254
ajaxStub . callsArgWith ( 1 , '' ) ;
250
- const expectedSyncUrls = [ 'http://rtb.adkernel.com/user-sync?zone=1' , 'http://rtb.adkernel.com/user-sync?zone=2' ,
251
- 'http://rtb-private.adkernel.com/user-sync?zone=1' ] ;
252
- sandbox . spy ( utils , 'createInvisibleIframe' ) ;
255
+ const expectedSyncUrls = [ '//sync.adkernel.com/user-sync?zone=1&r=%2F%2Frtb-private.adkernel.com%2Fuser-synced%3Fuid%3D%7BUID%7D' ,
256
+ '//sync.adkernel.com/user-sync?zone=2&r=%2F%2Frtb.adkernel.com%2Fuser-synced%3Fuid%3D%7BUID%7D' ,
257
+ '//sync.adkernel.com/user-sync?zone=1&r=%2F%2Frtb.adkernel.com%2Fuser-synced%3Fuid%3D%7BUID%7D' ] ;
258
+ let userSyncUrls = [ ] ;
259
+ sandbox . stub ( utils , 'createInvisibleIframe' , ( ) => {
260
+ return { } ;
261
+ } ) ;
262
+ sandbox . stub ( utils , 'addEventHandler' , ( el , ev , cb ) => {
263
+ userSyncUrls . push ( el . src ) ;
264
+ cb ( ) ; //instant callback
265
+ } ) ;
253
266
doRequest ( [ bid1_zone1 , bid2_zone2 , bid2_zone2 , bid3_host2 ] ) ;
254
267
expect ( utils . createInvisibleIframe . calledThrice ) ;
255
- let userSyncUrls = utils . createInvisibleIframe . returnValues . map ( val => val . src ) ;
256
268
expect ( userSyncUrls ) . to . be . eql ( expectedSyncUrls ) ;
257
269
} ) ;
270
+
258
271
} ) ;
259
272
260
273
describe ( 'adapter aliasing' , ( ) => {
274
+
261
275
const ALIAS_NAME = 'adkernelAlias' ;
262
276
263
277
it ( 'should allow bidder code changing' , ( ) => {
0 commit comments