prebid.js 6.26.0 → 6.29.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 (261) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/adWMGAnalyticsAdapter.js +1 -1
  3. package/dist/adagioAnalyticsAdapter.js +1 -1
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adfBidAdapter.js +1 -1
  7. package/dist/adgenerationBidAdapter.js +1 -1
  8. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  9. package/dist/adlooxAdServerVideo.js +1 -1
  10. package/dist/adlooxAnalyticsAdapter.js +1 -1
  11. package/dist/adlooxRtdProvider.js +1 -1
  12. package/dist/adoceanBidAdapter.js +1 -1
  13. package/dist/adomikAnalyticsAdapter.js +1 -1
  14. package/dist/adrelevantisBidAdapter.js +1 -1
  15. package/dist/adxcgAnalyticsAdapter.js +1 -1
  16. package/dist/adxcgBidAdapter.js +1 -1
  17. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  18. package/dist/adyoulikeBidAdapter.js +1 -1
  19. package/dist/ajaBidAdapter.js +1 -1
  20. package/dist/akamaiDapRtdProvider.js +1 -1
  21. package/dist/amxBidAdapter.js +1 -1
  22. package/dist/amxIdSystem.js +1 -1
  23. package/dist/appierAnalyticsAdapter.js +1 -1
  24. package/dist/appnexusAnalyticsAdapter.js +1 -1
  25. package/dist/appnexusBidAdapter.js +1 -1
  26. package/dist/asoBidAdapter.js +1 -1
  27. package/dist/atsAnalyticsAdapter.js +1 -1
  28. package/dist/audiencerunBidAdapter.js +1 -1
  29. package/dist/automatadBidAdapter.js +1 -1
  30. package/dist/axonixBidAdapter.js +1 -1
  31. package/dist/bidglassBidAdapter.js +1 -1
  32. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  33. package/dist/big-richmediaBidAdapter.js +1 -1
  34. package/dist/bluebillywigBidAdapter.js +1 -1
  35. package/dist/bridgewellBidAdapter.js +1 -1
  36. package/dist/brightMountainMediaBidAdapter.js +1 -1
  37. package/dist/byDataAnalyticsAdapter.js +1 -1
  38. package/dist/colossussspBidAdapter.js +1 -1
  39. package/dist/concertAnalyticsAdapter.js +1 -1
  40. package/dist/concertBidAdapter.js +1 -1
  41. package/dist/connectadBidAdapter.js +1 -1
  42. package/dist/consumableBidAdapter.js +1 -1
  43. package/dist/conversantBidAdapter.js +1 -1
  44. package/dist/craftBidAdapter.js +1 -1
  45. package/dist/criteoBidAdapter.js +1 -1
  46. package/dist/datablocksAnalyticsAdapter.js +1 -1
  47. package/dist/dspxBidAdapter.js +1 -1
  48. package/dist/eplanningAnalyticsAdapter.js +1 -1
  49. package/dist/eplanningBidAdapter.js +1 -1
  50. package/dist/fintezaAnalyticsAdapter.js +1 -1
  51. package/dist/ftrackIdSystem.js +1 -1
  52. package/dist/gdprEnforcement.js +1 -1
  53. package/dist/glimpseBidAdapter.js +1 -1
  54. package/dist/gmosspBidAdapter.js +1 -1
  55. package/dist/goldbachBidAdapter.js +1 -1
  56. package/dist/gridBidAdapter.js +1 -1
  57. package/dist/gridNMBidAdapter.js +1 -1
  58. package/dist/gumgumBidAdapter.js +1 -1
  59. package/dist/h12mediaBidAdapter.js +1 -1
  60. package/dist/hadronAnalyticsAdapter.js +1 -1
  61. package/dist/hadronRtdProvider.js +1 -1
  62. package/dist/id5AnalyticsAdapter.js +1 -1
  63. package/dist/id5IdSystem.js +1 -1
  64. package/dist/impactifyBidAdapter.js +1 -1
  65. package/dist/improvedigitalBidAdapter.js +1 -1
  66. package/dist/incrxBidAdapter.js +1 -0
  67. package/dist/inmarBidAdapter.js +1 -1
  68. package/dist/inskinBidAdapter.js +1 -1
  69. package/dist/insticatorBidAdapter.js +1 -1
  70. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  71. package/dist/ixBidAdapter.js +1 -1
  72. package/dist/jixieBidAdapter.js +1 -1
  73. package/dist/justpremiumBidAdapter.js +1 -1
  74. package/dist/kargoAnalyticsAdapter.js +1 -1
  75. package/dist/kargoBidAdapter.js +1 -1
  76. package/dist/koblerBidAdapter.js +1 -1
  77. package/dist/konduitAnalyticsAdapter.js +1 -1
  78. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  79. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  80. package/dist/logicadBidAdapter.js +1 -1
  81. package/dist/loglyliftBidAdapter.js +1 -1
  82. package/dist/malltvAnalyticsAdapter.js +1 -1
  83. package/dist/mantisBidAdapter.js +1 -1
  84. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  85. package/dist/marsmediaBidAdapter.js +1 -1
  86. package/dist/mediafuseBidAdapter.js +1 -1
  87. package/dist/mediakeysBidAdapter.js +1 -1
  88. package/dist/medianetAnalyticsAdapter.js +1 -1
  89. package/dist/medianetBidAdapter.js +1 -1
  90. package/dist/medianetRtdProvider.js +1 -1
  91. package/dist/mediasquareBidAdapter.js +1 -1
  92. package/dist/merkleIdSystem.js +1 -1
  93. package/dist/mgidBidAdapter.js +1 -1
  94. package/dist/minutemediaBidAdapter.js +1 -1
  95. package/dist/naveggIdSystem.js +1 -1
  96. package/dist/not-for-prod/prebid.js +178 -176
  97. package/dist/novatiqIdSystem.js +1 -1
  98. package/dist/oguryBidAdapter.js +1 -1
  99. package/dist/oneVideoBidAdapter.js +1 -1
  100. package/dist/onetagBidAdapter.js +1 -1
  101. package/dist/ooloAnalyticsAdapter.js +1 -1
  102. package/dist/openxAnalyticsAdapter.js +1 -1
  103. package/dist/optimonAnalyticsAdapter.js +1 -1
  104. package/dist/outbrainBidAdapter.js +1 -1
  105. package/dist/parrableIdSystem.js +1 -1
  106. package/dist/pixfutureBidAdapter.js +1 -1
  107. package/dist/prebid-core.js +3 -3
  108. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  109. package/dist/pubCommonId.js +1 -1
  110. package/dist/publinkIdSystem.js +1 -1
  111. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  112. package/dist/pubmaticBidAdapter.js +1 -1
  113. package/dist/pubperfAnalyticsAdapter.js +1 -1
  114. package/dist/pubstackAnalyticsAdapter.js +1 -1
  115. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  116. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  117. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  118. package/dist/pxyzBidAdapter.js +1 -1
  119. package/dist/quantcastBidAdapter.js +1 -1
  120. package/dist/readpeakBidAdapter.js +1 -1
  121. package/dist/realvuAnalyticsAdapter.js +1 -1
  122. package/dist/relaidoBidAdapter.js +1 -1
  123. package/dist/relevantAnalyticsAdapter.js +1 -1
  124. package/dist/rhythmoneBidAdapter.js +1 -1
  125. package/dist/riseBidAdapter.js +1 -1
  126. package/dist/rivrAnalyticsAdapter.js +1 -1
  127. package/dist/roxotAnalyticsAdapter.js +1 -1
  128. package/dist/rubiconAnalyticsAdapter.js +1 -1
  129. package/dist/rubiconBidAdapter.js +1 -1
  130. package/dist/scaleableAnalyticsAdapter.js +1 -1
  131. package/dist/seedingAllianceBidAdapter.js +1 -1
  132. package/dist/seedtagBidAdapter.js +1 -1
  133. package/dist/sharedIdSystem.js +1 -1
  134. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  135. package/dist/sharethroughBidAdapter.js +1 -1
  136. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  137. package/dist/slimcutBidAdapter.js +1 -1
  138. package/dist/smaatoBidAdapter.js +1 -1
  139. package/dist/smartadserverBidAdapter.js +1 -1
  140. package/dist/smartxBidAdapter.js +1 -1
  141. package/dist/smilewantedBidAdapter.js +1 -1
  142. package/dist/sonobiAnalyticsAdapter.js +1 -1
  143. package/dist/sonobiBidAdapter.js +1 -1
  144. package/dist/sortableAnalyticsAdapter.js +1 -1
  145. package/dist/sortableBidAdapter.js +1 -1
  146. package/dist/sovrnAnalyticsAdapter.js +1 -1
  147. package/dist/sovrnBidAdapter.js +1 -1
  148. package/dist/spotxBidAdapter.js +1 -1
  149. package/dist/sspBCBidAdapter.js +1 -1
  150. package/dist/staqAnalyticsAdapter.js +1 -1
  151. package/dist/sublimeBidAdapter.js +1 -1
  152. package/dist/synacormediaBidAdapter.js +1 -1
  153. package/dist/taboolaBidAdapter.js +1 -0
  154. package/dist/targetVideoBidAdapter.js +1 -1
  155. package/dist/teadsBidAdapter.js +1 -1
  156. package/dist/telariaBidAdapter.js +1 -1
  157. package/dist/terceptAnalyticsAdapter.js +1 -1
  158. package/dist/trionBidAdapter.js +1 -1
  159. package/dist/tripleliftBidAdapter.js +1 -1
  160. package/dist/trustxBidAdapter.js +1 -1
  161. package/dist/ttdBidAdapter.js +1 -1
  162. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  163. package/dist/underdogmediaBidAdapter.js +1 -1
  164. package/dist/undertoneBidAdapter.js +1 -1
  165. package/dist/userId.js +1 -1
  166. package/dist/vidazooBidAdapter.js +1 -1
  167. package/dist/videobyteBidAdapter.js +1 -1
  168. package/dist/visxBidAdapter.js +1 -1
  169. package/dist/vuukleBidAdapter.js +1 -1
  170. package/dist/widespaceBidAdapter.js +1 -1
  171. package/dist/winrBidAdapter.js +1 -1
  172. package/dist/yahoosspBidAdapter.js +1 -1
  173. package/dist/yieldmoBidAdapter.js +1 -1
  174. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  175. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  176. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  177. package/dist/zeta_global_sspBidAdapter.js +1 -1
  178. package/integrationExamples/gpt/akamaidap_segments_example.html +5 -3
  179. package/modules/.submodules.json +1 -0
  180. package/modules/adfBidAdapter.js +0 -3
  181. package/modules/adlooxAnalyticsAdapter.js +9 -5
  182. package/modules/adlooxAnalyticsAdapter.md +3 -3
  183. package/modules/adlooxRtdProvider.js +3 -5
  184. package/modules/adlooxRtdProvider.md +2 -2
  185. package/modules/adoceanBidAdapter.js +29 -1
  186. package/modules/adyoulikeBidAdapter.js +3 -0
  187. package/modules/akamaiDapRtdProvider.js +469 -139
  188. package/modules/akamaiDapRtdProvider.md +5 -3
  189. package/modules/automatadBidAdapter.js +9 -5
  190. package/modules/colossussspBidAdapter.js +17 -17
  191. package/modules/conversantBidAdapter.js +2 -2
  192. package/modules/criteoBidAdapter.js +1 -1
  193. package/modules/ftrackIdSystem.js +5 -8
  194. package/modules/gdprEnforcement.js +15 -9
  195. package/modules/gridBidAdapter.js +4 -0
  196. package/modules/hadronAnalyticsAdapter.js +5 -1
  197. package/modules/hadronRtdProvider.js +15 -13
  198. package/modules/incrxBidAdapter.js +87 -0
  199. package/modules/{vertozBidAdapter.md → incrxBidAdapter.md} +6 -6
  200. package/modules/inskinBidAdapter.js +4 -3
  201. package/modules/insticatorBidAdapter.js +109 -42
  202. package/modules/ixBidAdapter.js +3 -2
  203. package/modules/ixBidAdapter.md +1 -1
  204. package/modules/kargoBidAdapter.js +32 -1
  205. package/modules/koblerBidAdapter.js +54 -45
  206. package/modules/koblerBidAdapter.md +12 -17
  207. package/modules/mantisBidAdapter.js +4 -8
  208. package/modules/medianetBidAdapter.js +2 -2
  209. package/modules/medianetRtdProvider.js +4 -6
  210. package/modules/merkleIdSystem.js +43 -31
  211. package/modules/naveggIdSystem.js +3 -2
  212. package/modules/novatiqIdSystem.js +6 -1
  213. package/modules/pubCommonId.js +2 -1
  214. package/modules/pubmaticAnalyticsAdapter.js +49 -33
  215. package/modules/relaidoBidAdapter.js +0 -3
  216. package/modules/sharedIdSystem.js +5 -11
  217. package/modules/slimcutBidAdapter.js +2 -2
  218. package/modules/spotxBidAdapter.js +1 -1
  219. package/modules/synacormediaBidAdapter.js +11 -2
  220. package/modules/taboolaBidAdapter.js +265 -0
  221. package/modules/taboolaBidAdapter.md +49 -0
  222. package/modules/telariaBidAdapter.js +3 -3
  223. package/modules/userId/eids.js +25 -5
  224. package/modules/zeta_global_sspBidAdapter.js +3 -2
  225. package/package.json +1 -1
  226. package/src/AnalyticsAdapter.js +5 -1
  227. package/src/adloader.js +6 -1
  228. package/src/storageManager.js +5 -4
  229. package/test/mocks/analyticsStub.js +13 -0
  230. package/test/mocks/xhr.js +22 -0
  231. package/test/spec/AnalyticsAdapter_spec.js +4 -0
  232. package/test/spec/modules/adfBidAdapter_spec.js +1 -1
  233. package/test/spec/modules/adoceanBidAdapter_spec.js +25 -1
  234. package/test/spec/modules/adriverIdSystem_spec.js +7 -3
  235. package/test/spec/modules/adyoulikeBidAdapter_spec.js +16 -1
  236. package/test/spec/modules/akamaiDapRtdProvider_spec.js +457 -109
  237. package/test/spec/modules/automatadBidAdapter_spec.js +4 -0
  238. package/test/spec/modules/conversantBidAdapter_spec.js +36 -5
  239. package/test/spec/modules/datablocksBidAdapter_spec.js +9 -8
  240. package/test/spec/modules/eids_spec.js +48 -3
  241. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +4 -4
  242. package/test/spec/modules/ftrackIdSystem_spec.js +11 -22
  243. package/test/spec/modules/gdprEnforcement_spec.js +100 -53
  244. package/test/spec/modules/gridBidAdapter_spec.js +11 -0
  245. package/test/spec/modules/incrxBidAdapter_spec.js +100 -0
  246. package/test/spec/modules/insticatorBidAdapter_spec.js +46 -1
  247. package/test/spec/modules/ixBidAdapter_spec.js +1 -1
  248. package/test/spec/modules/kargoBidAdapter_spec.js +27 -0
  249. package/test/spec/modules/koblerBidAdapter_spec.js +160 -124
  250. package/test/spec/modules/medianetRtdProvider_spec.js +146 -0
  251. package/test/spec/modules/merkleIdSystem_spec.js +58 -37
  252. package/test/spec/modules/naveggIdSystem_spec.js +25 -1
  253. package/test/spec/modules/proxistoreBidAdapter_spec.js +0 -2
  254. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +117 -0
  255. package/test/spec/modules/sovrnBidAdapter_spec.js +253 -264
  256. package/test/spec/modules/synacormediaBidAdapter_spec.js +74 -0
  257. package/test/spec/modules/taboolaBidAdapter_spec.js +455 -0
  258. package/test/spec/modules/userId_spec.js +27 -1
  259. package/test/spec/modules/vidazooBidAdapter_spec.js +9 -4
  260. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +4 -2
  261. package/test/test_deps.js +1 -0
@@ -632,6 +632,17 @@ describe('TheMediaGrid Adapter', function () {
632
632
  getConfigStub.restore();
633
633
  });
634
634
 
635
+ it('should have site.content.id filled from config ortb2.site.content.id', function () {
636
+ const contentId = 'jw_abc';
637
+
638
+ const getConfigStub = sinon.stub(config, 'getConfig').callsFake(
639
+ arg => arg === 'ortb2.site' ? { content: { id: contentId } } : null);
640
+ const request = spec.buildRequests([bidRequests[0]], bidderRequest);
641
+ const payload = parseRequest(request.data);
642
+ expect(payload.site.content.id).to.equal(contentId);
643
+ getConfigStub.restore();
644
+ });
645
+
635
646
  it('should be right tmax when timeout in config is less then timeout in bidderRequest', function() {
636
647
  const getConfigStub = sinon.stub(config, 'getConfig').callsFake(
637
648
  arg => arg === 'bidderTimeout' ? 2000 : null);
@@ -0,0 +1,100 @@
1
+ import { expect } from 'chai';
2
+ import { spec } from 'modules/incrxBidAdapter.js';
3
+
4
+ describe('IncrementX', function () {
5
+ const METHOD = 'POST';
6
+ const URL = 'https://hb.incrementxserv.com/vzhbidder/bid';
7
+
8
+ const bidRequest = {
9
+ bidder: 'IncrementX',
10
+ params: {
11
+ placementId: 'PNX-HB-F796830VCF3C4B'
12
+ },
13
+ mediaTypes: {
14
+ banner: {
15
+ sizes: [[300, 250], [300, 600]]
16
+ }
17
+ },
18
+ sizes: [
19
+ [300, 250],
20
+ [300, 600]
21
+ ],
22
+ bidId: 'bid-id-123456',
23
+ adUnitCode: 'ad-unit-code-1',
24
+ bidderRequestId: 'bidder-request-id-123456',
25
+ auctionId: 'auction-id-123456',
26
+ transactionId: 'transaction-id-123456'
27
+ };
28
+
29
+ describe('isBidRequestValid', function () {
30
+ it('should return true where required params found', function () {
31
+ expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
32
+ });
33
+ });
34
+
35
+ describe('buildRequests', function () {
36
+ let bidderRequest = {
37
+ refererInfo: {
38
+ referer: 'https://www.test.com',
39
+ reachedTop: true,
40
+ isAmp: false,
41
+ numIframes: 0,
42
+ stack: [
43
+ 'https://www.test.com'
44
+ ],
45
+ canonicalUrl: null
46
+ }
47
+ };
48
+
49
+ it('should build correct POST request for banner bid', function () {
50
+ const request = spec.buildRequests([bidRequest], bidderRequest)[0];
51
+ expect(request).to.be.an('object');
52
+ expect(request.method).to.equal(METHOD);
53
+ expect(request.url).to.equal(URL);
54
+
55
+ const payload = JSON.parse(decodeURI(request.data.q));
56
+ expect(payload).to.be.an('object');
57
+ expect(payload._vzPlacementId).to.be.a('string');
58
+ expect(payload.sizes).to.be.an('array');
59
+ expect(payload._slotBidId).to.be.a('string');
60
+ expect(payload._rqsrc).to.be.a('string');
61
+ });
62
+ });
63
+
64
+ describe('interpretResponse', function () {
65
+ let serverResponse = {
66
+ body: {
67
+ vzhPlacementId: 'PNX-HB-F796830VCF3C4B',
68
+ bid: 'BID-XXXX-XXXX',
69
+ adWidth: '300',
70
+ adHeight: '250',
71
+ cpm: '0.7',
72
+ ad: '<html><h1>Ad from IncrementX</h1></html>',
73
+ slotBidId: 'bid-id-123456',
74
+ nurl: 'htt://nurl.com',
75
+ statusText: 'Success'
76
+ }
77
+ };
78
+
79
+ let expectedResponse = [{
80
+ requestId: 'bid-id-123456',
81
+ cpm: '0.7',
82
+ currency: 'USD',
83
+ netRevenue: false,
84
+ width: '300',
85
+ height: '250',
86
+ creativeId: 0,
87
+ ttl: 300,
88
+ ad: '<html><h1>Ad from IncrementX</h1></html>',
89
+ meta: {
90
+ mediaType: 'banner',
91
+ advertiserDomains: []
92
+ }
93
+ }];
94
+
95
+ it('should correctly interpret valid banner response', function () {
96
+ let result = spec.interpretResponse(serverResponse);
97
+ expect(result).to.deep.equal(expectedResponse);
98
+ });
99
+ });
100
+ });
@@ -27,7 +27,15 @@ describe('InsticatorBidAdapter', function () {
27
27
  banner: {
28
28
  sizes: [[300, 250], [300, 600]],
29
29
  pos: 4,
30
- }
30
+ },
31
+ video: {
32
+ mimes: [
33
+ 'video/mp4',
34
+ 'video/mpeg',
35
+ ],
36
+ w: 250,
37
+ h: 300,
38
+ },
31
39
  },
32
40
  bidId: '30b31c1838de1e',
33
41
  ortb2Imp: {
@@ -116,6 +124,35 @@ describe('InsticatorBidAdapter', function () {
116
124
  bidRequest.mediaTypes.banner.sizes = [[300, 250], [300, 600]];
117
125
  expect(spec.isBidRequestValid({ ...bidRequest, ...{ sizes: {} } })).to.be.true;
118
126
  });
127
+
128
+ it('should return true if there is video and video sizes', () => {
129
+ expect(spec.isBidRequestValid({
130
+ ...bidRequest,
131
+ ...{
132
+ mediaTypes: {
133
+ video: {
134
+ mimes: [
135
+ 'video/mp4',
136
+ 'video/mpeg',
137
+ ],
138
+ w: 250,
139
+ h: 300,
140
+ },
141
+ }
142
+ }
143
+ })).to.be.true;
144
+ });
145
+
146
+ it('should return false if there is no video sizes', () => {
147
+ expect(spec.isBidRequestValid({
148
+ ...bidRequest,
149
+ ...{
150
+ mediaTypes: {
151
+ video: {},
152
+ }
153
+ }
154
+ })).to.be.false;
155
+ });
119
156
  });
120
157
 
121
158
  describe('buildRequests', function () {
@@ -240,6 +277,14 @@ describe('InsticatorBidAdapter', function () {
240
277
  { w: 300, h: 600 },
241
278
  ]
242
279
  },
280
+ video: {
281
+ mimes: [
282
+ 'video/mp4',
283
+ 'video/mpeg',
284
+ ],
285
+ h: 300,
286
+ w: 250,
287
+ },
243
288
  ext: {
244
289
  gpid: bidRequest.ortb2Imp.ext.gpid,
245
290
  insticator: {
@@ -7,7 +7,7 @@ import { createEidsArray } from 'modules/userId/eids.js';
7
7
  import { deepAccess } from '../../../src/utils.js';
8
8
 
9
9
  describe('IndexexchangeAdapter', function () {
10
- const IX_SECURE_ENDPOINT = 'https://htlb.casalemedia.com/cygnus';
10
+ const IX_SECURE_ENDPOINT = 'https://htlb.casalemedia.com/openrtb/pbjs';
11
11
  const VIDEO_ENDPOINT_VERSION = 8.1;
12
12
  const BANNER_ENDPOINT_VERSION = 7.2;
13
13
 
@@ -1,6 +1,7 @@
1
1
  import {expect, assert} from 'chai';
2
2
  import {spec} from 'modules/kargoBidAdapter.js';
3
3
  import {config} from 'src/config.js';
4
+ const utils = require('src/utils');
4
5
 
5
6
  describe('kargo adapter tests', function () {
6
7
  var sandbox, clock, frozenNow = new Date();
@@ -249,6 +250,10 @@ describe('kargo adapter tests', function () {
249
250
  2: [[320, 50], [300, 250], [300, 600]],
250
251
  3: [[320, 50], [300, 250], [300, 600]]
251
252
  },
253
+ device: {
254
+ width: screen.width,
255
+ height: screen.height,
256
+ },
252
257
  userIDs: {
253
258
  kargoID: '5f108831-302d-11e7-bf6b-4595acd3bf6c',
254
259
  clientID: '2410d8f2-c111-4811-88a5-7b5e190e475f',
@@ -683,4 +688,26 @@ describe('kargo adapter tests', function () {
683
688
  safelyRun(() => expect(getUserSyncsWhenForbidden()).to.be.an('array').that.is.empty);
684
689
  });
685
690
  });
691
+
692
+ describe('timeout pixel trigger', function () {
693
+ let triggerPixelStub;
694
+
695
+ beforeEach(function () {
696
+ triggerPixelStub = sinon.stub(utils, 'triggerPixel');
697
+ });
698
+
699
+ afterEach(function () {
700
+ utils.triggerPixel.restore();
701
+ });
702
+
703
+ it('should call triggerPixel utils function when timed out is filled', function () {
704
+ spec.onTimeout();
705
+ expect(triggerPixelStub.getCall(0)).to.be.null;
706
+ spec.onTimeout([{ auctionId: '1234', timeout: 2000 }]);
707
+ expect(triggerPixelStub.getCall(0)).to.not.be.null;
708
+ expect(triggerPixelStub.getCall(0).args[0]).to.exist.and.to.include('https://krk.kargo.com/api/v1/event/timeout');
709
+ expect(triggerPixelStub.getCall(0).args[0]).to.include('aid=1234');
710
+ expect(triggerPixelStub.getCall(0).args[0]).to.include('ato=2000');
711
+ });
712
+ });
686
713
  });