prebid.js 7.54.0 → 7.54.2
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.
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/kulturemediaBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +128 -128
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/oxxionRtdProvider.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/modules/adqueryBidAdapter.js +21 -18
- package/modules/ixBidAdapter.js +285 -53
- package/modules/kargoBidAdapter.js +4 -0
- package/modules/mediasquareBidAdapter.js +19 -23
- package/modules/oxxionRtdProvider.js +124 -11
- package/modules/rubiconBidAdapter.js +13 -1
- package/modules/yahoosspBidAdapter.js +8 -7
- package/package.json +1 -1
- package/test/spec/modules/ixBidAdapter_spec.js +745 -3
- package/test/spec/modules/mediasquareBidAdapter_spec.js +3 -0
- package/test/spec/modules/oxxionRtdProvider_spec.js +113 -1
- package/test/spec/modules/rubiconBidAdapter_spec.js +41 -0
- package/test/spec/modules/yahoosspBidAdapter_spec.js +54 -24
|
@@ -99,6 +99,7 @@ describe('MediaSquare bid adapter tests', function () {
|
|
|
99
99
|
'bid_id': 'aaaa1234',
|
|
100
100
|
'adomain': ['test.com'],
|
|
101
101
|
'context': 'instream',
|
|
102
|
+
'increment': 1.0,
|
|
102
103
|
}],
|
|
103
104
|
}};
|
|
104
105
|
|
|
@@ -166,6 +167,8 @@ describe('MediaSquare bid adapter tests', function () {
|
|
|
166
167
|
expect(bid.mediasquare.bidder).to.equal('msqClassic');
|
|
167
168
|
expect(bid.mediasquare.context).to.exist;
|
|
168
169
|
expect(bid.mediasquare.context).to.equal('instream');
|
|
170
|
+
expect(bid.mediasquare.increment).to.exist;
|
|
171
|
+
expect(bid.mediasquare.increment).to.equal(1.0);
|
|
169
172
|
expect(bid.mediasquare.code).to.equal([DEFAULT_PARAMS[0].params.owner, DEFAULT_PARAMS[0].params.code].join('/'));
|
|
170
173
|
expect(bid.meta).to.exist;
|
|
171
174
|
expect(bid.meta.advertiserDomains).to.exist;
|
|
@@ -6,7 +6,10 @@ const utils = require('src/utils.js');
|
|
|
6
6
|
const moduleConfig = {
|
|
7
7
|
params: {
|
|
8
8
|
domain: 'test.endpoint',
|
|
9
|
-
contexts: ['instream', 'outstream']
|
|
9
|
+
contexts: ['instream', 'outstream'],
|
|
10
|
+
samplingRate: 10,
|
|
11
|
+
threshold: false,
|
|
12
|
+
bidders: ['appnexus', 'mediasquare'],
|
|
10
13
|
}
|
|
11
14
|
};
|
|
12
15
|
|
|
@@ -31,6 +34,14 @@ let request = {
|
|
|
31
34
|
],
|
|
32
35
|
'transactionId': 'de664ccb-e18b-4436-aeb0-362382eb1b41'
|
|
33
36
|
},
|
|
37
|
+
{
|
|
38
|
+
'code': 'msq_tag_200125_banner',
|
|
39
|
+
'mediaTypes': { 'banner': { 'sizes': [[300, 250]] } },
|
|
40
|
+
'bids': [
|
|
41
|
+
{'bidder': 'appnexusAst', 'params': {'placementId': 345678}},
|
|
42
|
+
],
|
|
43
|
+
'transactionId': 'de664ccb-e18b-4436-aeb0-362382eb1b41'
|
|
44
|
+
}
|
|
34
45
|
]
|
|
35
46
|
};
|
|
36
47
|
|
|
@@ -102,6 +113,93 @@ let bids = [{
|
|
|
102
113
|
},
|
|
103
114
|
];
|
|
104
115
|
|
|
116
|
+
let originalBidderRequests = [{
|
|
117
|
+
'bidderCode': 'rubicon',
|
|
118
|
+
'auctionId': 'dd42b870-2072-4b71-8ab7-e7789b14c5ce',
|
|
119
|
+
'bidderRequestId': '16c2bceb2e891a',
|
|
120
|
+
'bids': [
|
|
121
|
+
{
|
|
122
|
+
'bidder': 'rubicon',
|
|
123
|
+
'params': {
|
|
124
|
+
'accountId': 1234,
|
|
125
|
+
'siteId': 2345,
|
|
126
|
+
'zoneId': 3456
|
|
127
|
+
},
|
|
128
|
+
'auctionId': 'dd42b870-2072-4b71-8ab7-e7789b14c5ce',
|
|
129
|
+
'mediaTypes': {'banner': {'sizes': [[970, 250]]}},
|
|
130
|
+
'adUnitCode': 'adunit1',
|
|
131
|
+
'transactionId': '8f20b49c-5e47-4bb5-a7d5-0b816cf527f3',
|
|
132
|
+
'bidId': '2d9920072ab028',
|
|
133
|
+
'bidderRequestId': '16c2bceb2e891a',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
'bidder': 'rubicon',
|
|
137
|
+
'params': {
|
|
138
|
+
'accountId': 1234,
|
|
139
|
+
'siteId': 2345,
|
|
140
|
+
'zoneId': 4567
|
|
141
|
+
},
|
|
142
|
+
'auctionId': 'dd42b870-2072-4b71-8ab7-e7789b14c5ce',
|
|
143
|
+
'mediaTypes': {'banner': {'sizes': [[300, 250]]}},
|
|
144
|
+
'adUnitCode': 'adunit2',
|
|
145
|
+
'transactionId': '4161f09e-7870-4486-b2a6-b4158a327bc4',
|
|
146
|
+
'bidId': '331c3d708f4864',
|
|
147
|
+
'bidderRequestId': '16c2bceb2e891a',
|
|
148
|
+
'src': 'client',
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
'auctionStart': 1683383333809,
|
|
152
|
+
'timeout': 3000,
|
|
153
|
+
'gdprConsent': {
|
|
154
|
+
'consentString': 'consent_hash',
|
|
155
|
+
'gdprApplies': true,
|
|
156
|
+
'apiVersion': 2
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
'bidderCode': 'appnexusAst',
|
|
161
|
+
'auctionId': 'dd42b870-2072-4b71-8ab7-e7789b14c5ce',
|
|
162
|
+
'bidderRequestId': '4d83b8c60d45e7',
|
|
163
|
+
'bids': [
|
|
164
|
+
{
|
|
165
|
+
'bidder': 'appnexusAst',
|
|
166
|
+
'params': {
|
|
167
|
+
'placementId': 10471298
|
|
168
|
+
},
|
|
169
|
+
'auctionId': 'dd42b870-2072-4b71-8ab7-e7789b14c5ce',
|
|
170
|
+
'mediaTypes': {'banner': {'sizes': [[300, 250]]}},
|
|
171
|
+
'adUnitCode': 'adunit2',
|
|
172
|
+
'transactionId': '4161f09e-7870-4486-b2a6-b4158a327bc4',
|
|
173
|
+
'bidId': '5b7cd5abc6aea3',
|
|
174
|
+
'bidderRequestId': '4d83b8c60d45e7',
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
'auctionStart': 1683383333809,
|
|
178
|
+
'timeout': 3000,
|
|
179
|
+
'gdprConsent': {
|
|
180
|
+
'consentString': 'consent_hash',
|
|
181
|
+
'gdprApplies': true,
|
|
182
|
+
'apiVersion': 2
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
];
|
|
186
|
+
|
|
187
|
+
let bidInterests = [
|
|
188
|
+
{'id': 0, 'rate': 50.0, 'suggestion': true},
|
|
189
|
+
{'id': 1, 'rate': 12.0, 'suggestion': false},
|
|
190
|
+
{'id': 2, 'rate': 0.0, 'suggestion': true},
|
|
191
|
+
{'id': 3, 'rate': 0.0, 'suggestion': false},
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
const userConsent = {
|
|
195
|
+
'gdpr': {
|
|
196
|
+
'consentString': 'consent_hash'
|
|
197
|
+
},
|
|
198
|
+
'usp': null,
|
|
199
|
+
'gpp': null,
|
|
200
|
+
'coppa': false
|
|
201
|
+
};
|
|
202
|
+
|
|
105
203
|
describe('oxxionRtdProvider', () => {
|
|
106
204
|
describe('Oxxion RTD sub module', () => {
|
|
107
205
|
it('should init, return true, and set the params', () => {
|
|
@@ -117,6 +215,20 @@ describe('oxxionRtdProvider', () => {
|
|
|
117
215
|
oxxionSubmodule.onBidResponseEvent(auctionEnd.bidsReceived[0], moduleConfig);
|
|
118
216
|
oxxionSubmodule.onBidResponseEvent(auctionEnd.bidsReceived[1], moduleConfig);
|
|
119
217
|
});
|
|
218
|
+
it('check bid filtering', function() {
|
|
219
|
+
let requestsList = oxxionSubmodule.getRequestsList(request);
|
|
220
|
+
expect(requestsList.length).to.equal(4);
|
|
221
|
+
expect(requestsList[0]).to.have.property('id');
|
|
222
|
+
expect(request.adUnits[0].bids[0]).to.have.property('_id');
|
|
223
|
+
expect(requestsList[0].id).to.equal(request.adUnits[0].bids[0]._id);
|
|
224
|
+
const [filteredBiddderRequests, filteredBids] = oxxionSubmodule.getFilteredAdUnitsOnBidRates(bidInterests, request.adUnits, moduleConfig.params, false);
|
|
225
|
+
expect(filteredBids.length).to.equal(1);
|
|
226
|
+
expect(filteredBiddderRequests.length).to.equal(3);
|
|
227
|
+
expect(filteredBiddderRequests[0]).to.have.property('bids');
|
|
228
|
+
expect(filteredBiddderRequests[0].bids.length).to.equal(1);
|
|
229
|
+
expect(filteredBiddderRequests[1]).to.have.property('bids');
|
|
230
|
+
expect(filteredBiddderRequests[1].bids.length).to.equal(1);
|
|
231
|
+
});
|
|
120
232
|
it('check vastImpUrl', function() {
|
|
121
233
|
expect(auctionEnd.bidsReceived[0]).to.have.property('vastImpUrl');
|
|
122
234
|
let expectVastImpUrl = 'https://' + moduleConfig.params.domain + '.oxxion.io/analytics/vast_imp?';
|
|
@@ -807,6 +807,29 @@ describe('the rubicon adapter', function () {
|
|
|
807
807
|
});
|
|
808
808
|
});
|
|
809
809
|
|
|
810
|
+
describe('GPP Consent', function () {
|
|
811
|
+
it('should send gpp information if bidderRequest has a value for gppConsent', function () {
|
|
812
|
+
bidderRequest.gppConsent = {
|
|
813
|
+
gppString: 'consent',
|
|
814
|
+
applicableSections: 2
|
|
815
|
+
};
|
|
816
|
+
let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
|
|
817
|
+
let data = parseQuery(request.data);
|
|
818
|
+
delete bidderRequest.gppConsent;
|
|
819
|
+
|
|
820
|
+
expect(data['gpp']).to.equal('consent');
|
|
821
|
+
expect(data['gpp_sid']).to.equal('2');
|
|
822
|
+
});
|
|
823
|
+
|
|
824
|
+
it('should not send gpp information if bidderRequest does not have a value for gppConsent', function () {
|
|
825
|
+
let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
|
|
826
|
+
let data = parseQuery(request.data);
|
|
827
|
+
|
|
828
|
+
expect(data['gpp']).to.equal(undefined);
|
|
829
|
+
expect(data['gpp_sid']).to.equal(undefined);
|
|
830
|
+
});
|
|
831
|
+
});
|
|
832
|
+
|
|
810
833
|
describe('first party data', function () {
|
|
811
834
|
it('should not have any tg_v or tg_i params if all are undefined', function () {
|
|
812
835
|
let params = {
|
|
@@ -3634,6 +3657,24 @@ describe('the rubicon adapter', function () {
|
|
|
3634
3657
|
type: 'iframe', url: `${emilyUrl}?gdpr=1&gdpr_consent=foo&us_privacy=1NYN`
|
|
3635
3658
|
});
|
|
3636
3659
|
});
|
|
3660
|
+
|
|
3661
|
+
it('should pass gpp params when gppConsent is present', function () {
|
|
3662
|
+
expect(spec.getUserSyncs({iframeEnabled: true}, {}, {}, undefined, {
|
|
3663
|
+
gppString: 'foo',
|
|
3664
|
+
applicableSections: [2]
|
|
3665
|
+
})).to.deep.equal({
|
|
3666
|
+
type: 'iframe', url: `${emilyUrl}?gpp=foo&gpp_sid=2`
|
|
3667
|
+
});
|
|
3668
|
+
});
|
|
3669
|
+
|
|
3670
|
+
it('should pass multiple sid\'s when multiple are present', function () {
|
|
3671
|
+
expect(spec.getUserSyncs({iframeEnabled: true}, {}, {}, undefined, {
|
|
3672
|
+
gppString: 'foo',
|
|
3673
|
+
applicableSections: [2, 5]
|
|
3674
|
+
})).to.deep.equal({
|
|
3675
|
+
type: 'iframe', url: `${emilyUrl}?gpp=foo&gpp_sid=2,5`
|
|
3676
|
+
});
|
|
3677
|
+
});
|
|
3637
3678
|
});
|
|
3638
3679
|
|
|
3639
3680
|
describe('get price granularity', function () {
|
|
@@ -271,33 +271,63 @@ describe('YahooSSP Bid Adapter:', () => {
|
|
|
271
271
|
});
|
|
272
272
|
|
|
273
273
|
describe('user consent parameters are updated', () => {
|
|
274
|
-
|
|
274
|
+
const syncOptions = {
|
|
275
275
|
iframeEnabled: true,
|
|
276
276
|
pixelEnabled: true
|
|
277
277
|
};
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
278
|
+
|
|
279
|
+
describe('when all consent data is set', () => {
|
|
280
|
+
const pixelObjects = spec.getUserSyncs(
|
|
281
|
+
syncOptions,
|
|
282
|
+
SERVER_RESPONSES,
|
|
283
|
+
bidderRequest.gdprConsent,
|
|
284
|
+
bidderRequest.uspConsent,
|
|
285
|
+
bidderRequest.gppConsent
|
|
286
|
+
);
|
|
287
|
+
pixelObjects.forEach(pixelObject => {
|
|
288
|
+
let url = pixelObject.url;
|
|
289
|
+
let urlParams = new URL(url).searchParams;
|
|
290
|
+
const expectedParams = {
|
|
291
|
+
'baz': 'true',
|
|
292
|
+
'gdpr_consent': bidderRequest.gdprConsent.consentString,
|
|
293
|
+
'gdpr': bidderRequest.gdprConsent.gdprApplies ? '1' : '0',
|
|
294
|
+
'us_privacy': bidderRequest.uspConsent,
|
|
295
|
+
'gpp': bidderRequest.gppConsent.gppString,
|
|
296
|
+
'gpp_sid': Array.isArray(bidderRequest.gppConsent.applicableSections) ? bidderRequest.gppConsent.applicableSections.join(',') : ''
|
|
297
|
+
}
|
|
298
|
+
for (const [key, value] of Object.entries(expectedParams)) {
|
|
299
|
+
it(`Updates the ${key} consent param in user sync URL ${url}`, () => {
|
|
300
|
+
expect(urlParams.get(key)).to.equal(value);
|
|
301
|
+
});
|
|
302
|
+
};
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
describe('when no consent data is set', () => {
|
|
307
|
+
const pixelObjects = spec.getUserSyncs(
|
|
308
|
+
syncOptions,
|
|
309
|
+
SERVER_RESPONSES,
|
|
310
|
+
undefined,
|
|
311
|
+
undefined,
|
|
312
|
+
undefined
|
|
313
|
+
);
|
|
314
|
+
pixelObjects.forEach(pixelObject => {
|
|
315
|
+
let url = pixelObject.url;
|
|
316
|
+
let urlParams = new URL(url).searchParams;
|
|
317
|
+
const expectedParams = {
|
|
318
|
+
'baz': 'true',
|
|
319
|
+
'gdpr_consent': '',
|
|
320
|
+
'gdpr': '0',
|
|
321
|
+
'us_privacy': '',
|
|
322
|
+
'gpp': '',
|
|
323
|
+
'gpp_sid': ''
|
|
324
|
+
}
|
|
325
|
+
for (const [key, value] of Object.entries(expectedParams)) {
|
|
326
|
+
it(`Updates the ${key} consent param in user sync URL ${url}`, () => {
|
|
327
|
+
expect(urlParams.get(key)).to.equal(value);
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
});
|
|
301
331
|
});
|
|
302
332
|
});
|
|
303
333
|
});
|