prebid.js 7.52.0 → 7.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/dist/1plusXRtdProvider.js +1 -1
  2. package/dist/33acrossBidAdapter.js +1 -1
  3. package/dist/33acrossIdSystem.js +1 -1
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adgenerationBidAdapter.js +1 -1
  7. package/dist/adkernelBidAdapter.js +1 -1
  8. package/dist/adqueryBidAdapter.js +1 -1
  9. package/dist/adrelevantisBidAdapter.js +1 -1
  10. package/dist/adtrgtmeBidAdapter.js +1 -1
  11. package/dist/adxcgBidAdapter.js +1 -1
  12. package/dist/adyoulikeBidAdapter.js +1 -1
  13. package/dist/airgridRtdProvider.js +1 -1
  14. package/dist/ajaBidAdapter.js +1 -1
  15. package/dist/amxBidAdapter.js +1 -1
  16. package/dist/amxIdSystem.js +1 -1
  17. package/dist/appierAnalyticsAdapter.js +1 -1
  18. package/dist/appnexusBidAdapter.js +1 -1
  19. package/dist/asoBidAdapter.js +1 -1
  20. package/dist/axonixBidAdapter.js +1 -1
  21. package/dist/beopBidAdapter.js +1 -1
  22. package/dist/bidglassBidAdapter.js +1 -1
  23. package/dist/big-richmediaBidAdapter.js +1 -1
  24. package/dist/bridgewellBidAdapter.js +1 -1
  25. package/dist/brightMountainMediaBidAdapter.js +1 -1
  26. package/dist/carodaBidAdapter.js +1 -1
  27. package/dist/chtnwBidAdapter.js +1 -1
  28. package/dist/conceptxBidAdapter.js +1 -0
  29. package/dist/concertBidAdapter.js +1 -1
  30. package/dist/connectadBidAdapter.js +1 -1
  31. package/dist/consumableBidAdapter.js +1 -1
  32. package/dist/conversantAnalyticsAdapter.js +1 -1
  33. package/dist/conversantBidAdapter.js +1 -1
  34. package/dist/craftBidAdapter.js +1 -1
  35. package/dist/criteoBidAdapter.js +1 -1
  36. package/dist/cwireBidAdapter.js +1 -1
  37. package/dist/dspxBidAdapter.js +1 -1
  38. package/dist/eplanningBidAdapter.js +1 -1
  39. package/dist/eskimiBidAdapter.js +1 -1
  40. package/dist/euidIdSystem.js +1 -0
  41. package/dist/feedadBidAdapter.js +1 -1
  42. package/dist/finativeBidAdapter.js +1 -1
  43. package/dist/freepassIdSystem.js +1 -0
  44. package/dist/freewheel-sspBidAdapter.js +1 -1
  45. package/dist/glimpseBidAdapter.js +1 -1
  46. package/dist/gmosspBidAdapter.js +1 -1
  47. package/dist/goldbachBidAdapter.js +1 -1
  48. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  49. package/dist/greenbidsRtdProvider.js +1 -1
  50. package/dist/gridBidAdapter.js +1 -1
  51. package/dist/gumgumBidAdapter.js +1 -1
  52. package/dist/h12mediaBidAdapter.js +1 -1
  53. package/dist/id5IdSystem.js +1 -1
  54. package/dist/improvedigitalBidAdapter.js +1 -1
  55. package/dist/inmarBidAdapter.js +1 -1
  56. package/dist/insticatorBidAdapter.js +1 -1
  57. package/dist/ixBidAdapter.js +1 -1
  58. package/dist/justpremiumBidAdapter.js +1 -1
  59. package/dist/kargoBidAdapter.js +1 -1
  60. package/dist/konduitAnalyticsAdapter.js +1 -1
  61. package/dist/kueezBidAdapter.js +1 -1
  62. package/dist/kueezRtbBidAdapter.js +1 -1
  63. package/dist/kulturemediaBidAdapter.js +1 -1
  64. package/dist/lassoBidAdapter.js +1 -1
  65. package/dist/lifestreetBidAdapter.js +1 -1
  66. package/dist/limelightDigitalBidAdapter.js +1 -1
  67. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  68. package/dist/logicadBidAdapter.js +1 -1
  69. package/dist/loglyliftBidAdapter.js +1 -1
  70. package/dist/magniteAnalyticsAdapter.js +1 -1
  71. package/dist/malltvAnalyticsAdapter.js +1 -1
  72. package/dist/marsmediaBidAdapter.js +1 -1
  73. package/dist/mediafuseBidAdapter.js +1 -1
  74. package/dist/mediasquareBidAdapter.js +1 -1
  75. package/dist/mgidBidAdapter.js +1 -1
  76. package/dist/minutemediaBidAdapter.js +1 -1
  77. package/dist/minutemediaplusBidAdapter.js +1 -1
  78. package/dist/nexx360BidAdapter.js +1 -1
  79. package/dist/not-for-prod/prebid.js +146 -142
  80. package/dist/oguryBidAdapter.js +1 -1
  81. package/dist/onetagBidAdapter.js +1 -1
  82. package/dist/ooloAnalyticsAdapter.js +1 -1
  83. package/dist/optidigitalBidAdapter.js +1 -1
  84. package/dist/outbrainBidAdapter.js +1 -1
  85. package/dist/pairIdSystem.js +1 -1
  86. package/dist/parrableIdSystem.js +1 -1
  87. package/dist/pixfutureBidAdapter.js +1 -1
  88. package/dist/prebid-core.js +1 -1
  89. package/dist/proxistoreBidAdapter.js +1 -1
  90. package/dist/publinkIdSystem.js +1 -1
  91. package/dist/pubmaticBidAdapter.js +1 -1
  92. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  93. package/dist/pxyzBidAdapter.js +1 -1
  94. package/dist/quantcastBidAdapter.js +1 -1
  95. package/dist/readpeakBidAdapter.js +1 -1
  96. package/dist/relaidoBidAdapter.js +1 -1
  97. package/dist/retailspotBidAdapter.js +1 -1
  98. package/dist/rhythmoneBidAdapter.js +1 -1
  99. package/dist/richaudienceBidAdapter.js +1 -1
  100. package/dist/riseBidAdapter.js +1 -1
  101. package/dist/rubiconAnalyticsAdapter.js +1 -1
  102. package/dist/rubiconBidAdapter.js +1 -1
  103. package/dist/schain.js +1 -1
  104. package/dist/seedingAllianceBidAdapter.js +1 -1
  105. package/dist/seedtagBidAdapter.js +1 -1
  106. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  107. package/dist/sharethroughBidAdapter.js +1 -1
  108. package/dist/shinezBidAdapter.js +1 -1
  109. package/dist/sirdataRtdProvider.js +1 -1
  110. package/dist/smaatoBidAdapter.js +1 -1
  111. package/dist/smartadserverBidAdapter.js +1 -1
  112. package/dist/smartxBidAdapter.js +1 -1
  113. package/dist/smilewantedBidAdapter.js +1 -1
  114. package/dist/sonobiBidAdapter.js +1 -1
  115. package/dist/sovrnAnalyticsAdapter.js +1 -1
  116. package/dist/sovrnBidAdapter.js +1 -1
  117. package/dist/sspBCBidAdapter.js +1 -1
  118. package/dist/stroeerCoreBidAdapter.js +1 -1
  119. package/dist/stvBidAdapter.js +1 -1
  120. package/dist/sublimeBidAdapter.js +1 -1
  121. package/dist/synacormediaBidAdapter.js +1 -1
  122. package/dist/targetVideoBidAdapter.js +1 -1
  123. package/dist/teadsBidAdapter.js +1 -1
  124. package/dist/trionBidAdapter.js +1 -1
  125. package/dist/tripleliftBidAdapter.js +1 -1
  126. package/dist/ttdBidAdapter.js +1 -1
  127. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  128. package/dist/uid2IdSystem.js +1 -1
  129. package/dist/uid2IdSystem_shared.js +1 -0
  130. package/dist/underdogmediaBidAdapter.js +1 -1
  131. package/dist/undertoneBidAdapter.js +1 -1
  132. package/dist/userId.js +1 -1
  133. package/dist/vidazooBidAdapter.js +1 -1
  134. package/dist/videobyteBidAdapter.js +1 -1
  135. package/dist/viouslyBidAdapter.js +1 -1
  136. package/dist/visxBidAdapter.js +1 -1
  137. package/dist/vuukleBidAdapter.js +1 -1
  138. package/dist/weboramaRtdProvider.js +1 -1
  139. package/dist/widespaceBidAdapter.js +1 -1
  140. package/dist/winrBidAdapter.js +1 -1
  141. package/dist/yahoosspBidAdapter.js +1 -1
  142. package/dist/yieldlabBidAdapter.js +1 -1
  143. package/dist/yieldmoBidAdapter.js +1 -1
  144. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  145. package/dist/zeta_global_sspBidAdapter.js +1 -1
  146. package/integrationExamples/gpt/userId_example.html +20 -6
  147. package/modules/.submodules.json +3 -1
  148. package/modules/1plusXRtdProvider.js +31 -60
  149. package/modules/adagioBidAdapter.js +86 -24
  150. package/modules/adkernelBidAdapter.js +2 -2
  151. package/modules/airgridRtdProvider.js +11 -12
  152. package/modules/asoBidAdapter.js +2 -1
  153. package/modules/beopBidAdapter.js +6 -0
  154. package/modules/conceptxBidAdapter.js +70 -0
  155. package/modules/conceptxBidAdapter.md +36 -0
  156. package/modules/criteoBidAdapter.js +9 -2
  157. package/modules/eskimiBidAdapter.js +171 -41
  158. package/modules/eskimiBidAdapter.md +35 -16
  159. package/modules/euidIdSystem.js +121 -0
  160. package/modules/euidIdSystem.md +131 -0
  161. package/modules/freepassIdSystem.js +61 -0
  162. package/modules/freepassIdSystem.md +47 -0
  163. package/modules/greenbidsAnalyticsAdapter.js +1 -1
  164. package/modules/id5IdSystem.js +3 -5
  165. package/modules/ixBidAdapter.js +12 -1
  166. package/modules/limelightDigitalBidAdapter.js +1 -1
  167. package/modules/logicadBidAdapter.js +14 -1
  168. package/modules/mediasquareBidAdapter.js +13 -5
  169. package/modules/nexx360BidAdapter.js +1 -0
  170. package/modules/pairIdSystem.js +10 -5
  171. package/modules/proxistoreBidAdapter.js +11 -14
  172. package/modules/richaudienceBidAdapter.js +10 -1
  173. package/modules/riseBidAdapter.js +1 -1
  174. package/modules/schain.js +2 -2
  175. package/modules/sirdataRtdProvider.js +73 -146
  176. package/modules/sovrnBidAdapter.js +4 -1
  177. package/modules/stroeerCoreBidAdapter.js +55 -6
  178. package/modules/uid2IdSystem.js +27 -210
  179. package/modules/uid2IdSystem.md +104 -23
  180. package/modules/uid2IdSystem_shared.js +232 -0
  181. package/modules/userId/eids.js +8 -0
  182. package/modules/userId/userId.md +2 -1
  183. package/modules/viouslyBidAdapter.js +2 -2
  184. package/modules/weboramaRtdProvider.js +25 -95
  185. package/modules/weboramaRtdProvider.md +4 -4
  186. package/modules/yieldlabBidAdapter.js +23 -14
  187. package/modules/zeta_global_sspBidAdapter.js +27 -22
  188. package/package.json +1 -1
  189. package/src/adloader.js +1 -0
  190. package/test/spec/modules/1plusXRtdProvider_spec.js +98 -149
  191. package/test/spec/modules/adagioBidAdapter_spec.js +46 -17
  192. package/test/spec/modules/airgridRtdProvider_spec.js +2 -0
  193. package/test/spec/modules/beopBidAdapter_spec.js +24 -0
  194. package/test/spec/modules/conceptxBidAdapter_spec.js +136 -0
  195. package/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  196. package/test/spec/modules/eids_spec.js +15 -0
  197. package/test/spec/modules/eskimiBidAdapter_spec.js +264 -112
  198. package/test/spec/modules/euidIdSystem_spec.js +130 -0
  199. package/test/spec/modules/freepassIdSystem_spec.js +186 -0
  200. package/test/spec/modules/id5IdSystem_spec.js +10 -3
  201. package/test/spec/modules/ixBidAdapter_spec.js +30 -0
  202. package/test/spec/modules/logicadBidAdapter_spec.js +122 -2
  203. package/test/spec/modules/mediasquareBidAdapter_spec.js +4 -0
  204. package/test/spec/modules/richaudienceBidAdapter_spec.js +44 -0
  205. package/test/spec/modules/schain_spec.js +9 -0
  206. package/test/spec/modules/sirdataRtdProvider_spec.js +110 -17
  207. package/test/spec/modules/sovrnBidAdapter_spec.js +13 -0
  208. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +151 -6
  209. package/test/spec/modules/uid2IdSystem_helpers.js +70 -0
  210. package/test/spec/modules/uid2IdSystem_spec.js +131 -86
  211. package/test/spec/modules/userId_spec.js +16 -12
  212. package/test/spec/modules/weboramaRtdProvider_spec.js +331 -205
  213. package/test/spec/modules/yieldlabBidAdapter_spec.js +42 -2
  214. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +200 -4
@@ -200,6 +200,15 @@ const NATIVE_RESPONSE = Object.assign({}, RESPONSE, {
200
200
  value: 'Native body value',
201
201
  },
202
202
  },
203
+ {
204
+ id: 4,
205
+ img: {
206
+ url: 'https://localhost:8080/assets/favicon/favicon-16x16.png',
207
+ w: 16,
208
+ h: 16,
209
+ type: 1,
210
+ },
211
+ },
203
212
  ],
204
213
  imptrackers: [
205
214
  'http://localhost:8080/ve?d=ODE9ZSY2MTI1MjAzNjMzMzYxPXN0JjA0NWUwZDk0NTY5Yi05M2FiLWUwZTQtOWFjNy1hYWY0MzFiZj1kaXQmMj12',
@@ -567,15 +576,24 @@ describe('yieldlabBidAdapter', () => {
567
576
  expect(result[0].native.image.url).to.equal('https://localhost:8080/yl-logo100x100.jpg');
568
577
  expect(result[0].native.image.width).to.equal(100);
569
578
  expect(result[0].native.image.height).to.equal(100);
579
+ expect(result[0].native.icon.url).to.equal('https://localhost:8080/assets/favicon/favicon-16x16.png');
580
+ expect(result[0].native.icon.width).to.equal(16);
581
+ expect(result[0].native.icon.height).to.equal(16);
570
582
  expect(result[0].native.clickUrl).to.equal('https://www.yieldlab.de');
571
583
  expect(result[0].native.impressionTrackers.length).to.equal(3);
572
- expect(result[0].native.assets.length).to.equal(3);
584
+ expect(result[0].native.assets.length).to.equal(4);
573
585
  const titleAsset = result[0].native.assets.find(asset => 'title' in asset);
574
- const imageAsset = result[0].native.assets.find(asset => 'img' in asset);
586
+ const imageAsset = result[0].native.assets.find((asset) => {
587
+ return asset?.img?.type === 3;
588
+ });
589
+ const iconAsset = result[0].native.assets.find((asset) => {
590
+ return asset?.img?.type === 1;
591
+ });
575
592
  const bodyAsset = result[0].native.assets.find(asset => 'data' in asset);
576
593
  expect(titleAsset).to.exist.and.to.have.nested.property('id', 1)
577
594
  expect(imageAsset).to.exist.and.to.have.nested.property('id', 2)
578
595
  expect(bodyAsset).to.exist.and.to.have.nested.property('id', 3)
596
+ expect(iconAsset).to.exist.and.to.have.nested.property('id', 4)
579
597
  });
580
598
 
581
599
  it('should add adUrl and default native assets when type is Native', () => {
@@ -601,6 +619,28 @@ describe('yieldlabBidAdapter', () => {
601
619
  expect(result[0].native.image.height).to.equal(0);
602
620
  });
603
621
 
622
+ it('should not add icon if not present in the native response', () => {
623
+ const NATIVE_RESPONSE_WITHOUT_ICON = Object.assign({}, NATIVE_RESPONSE, {
624
+ native: {
625
+ link: {
626
+ url: 'https://www.yieldlab.de',
627
+ },
628
+ assets: [
629
+ {
630
+ id: 1,
631
+ title: {
632
+ text: 'This is a great headline',
633
+ }
634
+ }
635
+ ],
636
+ imptrackers: [],
637
+ },
638
+ });
639
+ const result = spec.interpretResponse({body: [NATIVE_RESPONSE_WITHOUT_ICON]}, {validBidRequests: [NATIVE_REQUEST()], queryParams: REQPARAMS});
640
+ expect(result[0].native.hasOwnProperty('icon')).to.be.false;
641
+ expect(result[0].native.title).to.equal('This is a great headline');
642
+ });
643
+
604
644
  it('should append gdpr parameters to vastUrl', () => {
605
645
  const result = spec.interpretResponse({body: [VIDEO_RESPONSE]}, {validBidRequests: [VIDEO_REQUEST()], queryParams: REQPARAMS_GDPR});
606
646
 
@@ -127,6 +127,29 @@ describe('Zeta Ssp Bid Adapter', function () {
127
127
  timeout: 500
128
128
  }];
129
129
 
130
+ const bannerWithFewSizesRequest = [{
131
+ bidId: 12345,
132
+ auctionId: 67890,
133
+ mediaTypes: {
134
+ banner: {
135
+ sizes: [[300, 250], [200, 240], [100, 150]],
136
+ }
137
+ },
138
+ refererInfo: {
139
+ page: 'http://www.zetaglobal.com/page?param=value',
140
+ domain: 'www.zetaglobal.com',
141
+ },
142
+ gdprConsent: {
143
+ gdprApplies: 1,
144
+ consentString: 'consentString'
145
+ },
146
+ schain: schain,
147
+ uspConsent: 'someCCPAString',
148
+ params: params,
149
+ userIdAsEids: eids,
150
+ timeout: 500
151
+ }];
152
+
130
153
  const videoRequest = [{
131
154
  bidId: 112233,
132
155
  auctionId: 667788,
@@ -148,6 +171,87 @@ describe('Zeta Ssp Bid Adapter', function () {
148
171
  params: params
149
172
  }];
150
173
 
174
+ const zetaResponse = {
175
+ body: {
176
+ id: '12345',
177
+ seatbid: [
178
+ {
179
+ bid: [
180
+ {
181
+ id: 'auctionId',
182
+ impid: 'impId',
183
+ price: 0.0,
184
+ adm: 'adMarkup',
185
+ crid: 'creativeId',
186
+ adomain: [
187
+ 'https://example.com'
188
+ ],
189
+ h: 250,
190
+ w: 300
191
+ }
192
+ ]
193
+ }
194
+ ],
195
+ cur: 'USD'
196
+ }
197
+ }
198
+
199
+ const responseBannerPayload = {
200
+ data: {
201
+ id: '123',
202
+ site: {
203
+ id: 'SITE_ID',
204
+ page: 'page.com',
205
+ domain: 'domain.com'
206
+ },
207
+ user: {
208
+ id: '45asdf9tydhrty789adfad4678rew656789',
209
+ buyeruid: '1234567890'
210
+ },
211
+ cur: [
212
+ 'USD'
213
+ ],
214
+ imp: [
215
+ {
216
+ id: '1',
217
+ banner: {
218
+ h: 600,
219
+ w: 160
220
+ }
221
+ }
222
+ ],
223
+ at: 1
224
+ }
225
+ };
226
+
227
+ const responseVideoPayload = {
228
+ data: {
229
+ id: '123',
230
+ site: {
231
+ id: 'SITE_ID',
232
+ page: 'page.com',
233
+ domain: 'domain.com'
234
+ },
235
+ user: {
236
+ id: '45asdf9tydhrty789adfad4678rew656789',
237
+ buyeruid: '1234567890'
238
+ },
239
+ cur: [
240
+ 'USD'
241
+ ],
242
+ imp: [
243
+ {
244
+ id: '1',
245
+ video: {
246
+ h: 600,
247
+ w: 160
248
+ }
249
+ }
250
+ ],
251
+ at: 1
252
+ }
253
+ };
254
+
151
255
  it('Test the bid validation function', function () {
152
256
  const validBid = spec.isBidRequestValid(bannerRequest[0]);
153
257
  const invalidBid = spec.isBidRequestValid(null);
@@ -201,7 +305,12 @@ describe('Zeta Ssp Bid Adapter', function () {
201
305
  'https://example.com'
202
306
  ],
203
307
  h: 250,
204
- w: 300
308
+ w: 300,
309
+ ext: {
310
+ prebid: {
311
+ type: 'banner'
312
+ }
313
+ }
205
314
  },
206
315
  {
207
316
  id: 'auctionId2',
@@ -215,7 +324,9 @@ describe('Zeta Ssp Bid Adapter', function () {
215
324
  h: 150,
216
325
  w: 200,
217
326
  ext: {
218
- bidtype: 'video'
327
+ prebid: {
328
+ type: 'video'
329
+ }
219
330
  }
220
331
  },
221
332
  {
@@ -228,7 +339,12 @@ describe('Zeta Ssp Bid Adapter', function () {
228
339
  'https://example3.com'
229
340
  ],
230
341
  h: 400,
231
- w: 300
342
+ w: 300,
343
+ ext: {
344
+ prebid: {
345
+ type: 'video'
346
+ }
347
+ }
232
348
  }
233
349
  ]
234
350
  }
@@ -237,7 +353,7 @@ describe('Zeta Ssp Bid Adapter', function () {
237
353
  }
238
354
  };
239
355
 
240
- const bidResponse = spec.interpretResponse(response, null);
356
+ const bidResponse = spec.interpretResponse(response, responseBannerPayload);
241
357
  expect(bidResponse).to.not.be.empty;
242
358
 
243
359
  const bid1 = bidResponse[0];
@@ -408,4 +524,84 @@ describe('Zeta Ssp Bid Adapter', function () {
408
524
 
409
525
  expect(payload.imp[0].tagid).to.eql(params.tagid);
410
526
  });
527
+
528
+ it('Test if only one size', function () {
529
+ const request = spec.buildRequests(bannerRequest, bannerRequest[0]);
530
+ const payload = JSON.parse(request.data);
531
+
532
+ // banner
533
+ expect(payload.imp[0].banner.w).to.eql(300);
534
+ expect(payload.imp[0].banner.h).to.eql(250);
535
+
536
+ expect(payload.imp[0].banner.format).to.be.undefined;
537
+ });
538
+
539
+ it('Test few sizes provided in format', function () {
540
+ const request = spec.buildRequests(bannerWithFewSizesRequest, bannerWithFewSizesRequest[0]);
541
+ const payload = JSON.parse(request.data);
542
+
543
+ // banner
544
+ expect(payload.imp[0].banner.w).to.eql(300);
545
+ expect(payload.imp[0].banner.h).to.eql(250);
546
+
547
+ expect(payload.imp[0].banner.format.length).to.eql(3);
548
+
549
+ // format[0]
550
+ expect(payload.imp[0].banner.format[0].w).to.eql(300);
551
+ expect(payload.imp[0].banner.format[0].h).to.eql(250);
552
+
553
+ // format[1]
554
+ expect(payload.imp[0].banner.format[1].w).to.eql(200);
555
+ expect(payload.imp[0].banner.format[1].h).to.eql(240);
556
+
557
+ // format[2]
558
+ expect(payload.imp[0].banner.format[2].w).to.eql(100);
559
+ expect(payload.imp[0].banner.format[2].h).to.eql(150);
560
+ });
561
+
562
+ it('Test the response default mediaType:banner', function () {
563
+ const bidResponse = spec.interpretResponse(zetaResponse, responseBannerPayload);
564
+ expect(bidResponse).to.not.be.empty;
565
+ expect(bidResponse.length).to.eql(1);
566
+ expect(bidResponse[0].mediaType).to.eql(BANNER);
567
+ expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
568
+ expect(bidResponse[0].vastXml).to.be.undefined;
569
+ });
570
+
571
+ it('Test the response default mediaType:video', function () {
572
+ const bidResponse = spec.interpretResponse(zetaResponse, responseVideoPayload);
573
+ expect(bidResponse).to.not.be.empty;
574
+ expect(bidResponse.length).to.eql(1);
575
+ expect(bidResponse[0].mediaType).to.eql(VIDEO);
576
+ expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
577
+ expect(bidResponse[0].vastXml).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
578
+ });
579
+
580
+ it('Test the response mediaType:video from ext param', function () {
581
+ zetaResponse.body.seatbid[0].bid[0].ext = {
582
+ prebid: {
583
+ type: 'video'
584
+ }
585
+ }
586
+ const bidResponse = spec.interpretResponse(zetaResponse, responseBannerPayload);
587
+ expect(bidResponse).to.not.be.empty;
588
+ expect(bidResponse.length).to.eql(1);
589
+ expect(bidResponse[0].mediaType).to.eql(VIDEO);
590
+ expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
591
+ expect(bidResponse[0].vastXml).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
592
+ });
593
+
594
+ it('Test the response mediaType:banner from ext param', function () {
595
+ zetaResponse.body.seatbid[0].bid[0].ext = {
596
+ prebid: {
597
+ type: 'banner'
598
+ }
599
+ }
600
+ const bidResponse = spec.interpretResponse(zetaResponse, responseVideoPayload);
601
+ expect(bidResponse).to.not.be.empty;
602
+ expect(bidResponse.length).to.eql(1);
603
+ expect(bidResponse[0].mediaType).to.eql(BANNER);
604
+ expect(bidResponse[0].ad).to.eql(zetaResponse.body.seatbid[0].bid[0].adm);
605
+ expect(bidResponse[0].vastXml).to.be.undefined;
606
+ });
411
607
  });