prebid.js 6.1.0 → 6.5.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.
- package/.circleci/config.yml +1 -1
- package/README.md +1 -1
- package/browsers.json +13 -29
- package/gulpfile.js +87 -82
- package/integrationExamples/gpt/weboramaRtdProvider_example.html +23 -14
- package/karma.conf.maker.js +2 -2
- package/modules/33acrossBidAdapter.js +189 -102
- package/modules/adagioBidAdapter.js +1 -1
- package/modules/addefendBidAdapter.js +1 -0
- package/modules/adkernelBidAdapter.js +146 -61
- package/modules/adlooxAdServerVideo.js +2 -2
- package/modules/adlooxAnalyticsAdapter.js +4 -4
- package/modules/admanBidAdapter.js +1 -0
- package/modules/admixerBidAdapter.js +3 -2
- package/modules/adnuntiusBidAdapter.js +5 -2
- package/modules/adomikAnalyticsAdapter.js +6 -0
- package/modules/adplusBidAdapter.js +203 -0
- package/modules/adplusBidAdapter.md +39 -0
- package/modules/adxcgBidAdapter.js +311 -359
- package/modules/adxcgBidAdapter.md +22 -21
- package/modules/adyoulikeBidAdapter.js +20 -11
- package/modules/aniviewBidAdapter.js +1 -1
- package/modules/appnexusBidAdapter.js +19 -3
- package/modules/beachfrontBidAdapter.js +14 -17
- package/modules/beopBidAdapter.js +6 -4
- package/modules/bidViewability.js +3 -3
- package/modules/bidViewabilityIO.js +3 -3
- package/modules/bliinkBidAdapter.js +1 -1
- package/modules/colossussspBidAdapter.js +7 -0
- package/modules/compassBidAdapter.js +201 -0
- package/modules/compassBidAdapter.md +79 -0
- package/modules/consentManagement.js +7 -1
- package/modules/craftBidAdapter.js +5 -3
- package/modules/criteoBidAdapter.js +1 -1
- package/modules/currency.js +2 -2
- package/modules/cwireBidAdapter.js +3 -0
- package/modules/dailyhuntBidAdapter.js +435 -0
- package/modules/dailyhuntBidAdapter.md +4 -0
- package/modules/dchain.js +149 -0
- package/modules/dchain.md +45 -0
- package/modules/docereeBidAdapter.js +10 -1
- package/modules/docereeBidAdapter.md +2 -0
- package/modules/dspxBidAdapter.js +1 -1
- package/modules/emx_digitalBidAdapter.js +9 -1
- package/modules/engageyaBidAdapter.js +1 -1
- package/modules/feedadBidAdapter.js +2 -2
- package/modules/feedadBidAdapter.md +4 -2
- package/modules/freewheel-sspBidAdapter.js +6 -0
- package/modules/futureads.md +48 -0
- package/modules/glimpseBidAdapter.js +16 -3
- package/modules/goldbachBidAdapter.js +1176 -0
- package/modules/goldbachBidAdapter.md +151 -0
- package/modules/gptPreAuction.js +55 -7
- package/modules/gridBidAdapter.js +4 -3
- package/modules/gumgumBidAdapter.js +7 -3
- package/modules/improvedigitalBidAdapter.js +19 -3
- package/modules/instreamTracking.js +4 -4
- package/modules/intersectionRtdProvider.js +114 -0
- package/modules/invibesBidAdapter.js +64 -14
- package/modules/invibesBidAdapter.md +2 -1
- package/modules/ipromBidAdapter.js +79 -0
- package/modules/ixBidAdapter.js +53 -18
- package/modules/kinessoIdSystem.js +1 -1
- package/modules/limelightDigitalBidAdapter.js +3 -1
- package/modules/livewrappedAnalyticsAdapter.js +3 -1
- package/modules/livewrappedBidAdapter.js +8 -2
- package/modules/loglyliftBidAdapter.js +79 -0
- package/modules/loglyliftBidAdapter.md +55 -0
- package/modules/lotamePanoramaIdSystem.js +80 -8
- package/modules/luponmediaBidAdapter.js +570 -0
- package/modules/mediasquareBidAdapter.js +1 -9
- package/modules/missenaBidAdapter.js +89 -0
- package/modules/nextMillenniumBidAdapter.js +37 -7
- package/modules/optimeraRtdProvider.js +8 -1
- package/modules/ozoneBidAdapter.js +21 -64
- package/modules/prebidServerBidAdapter/index.js +16 -12
- package/modules/pubgeniusBidAdapter.js +1 -1
- package/modules/pubmaticBidAdapter.js +3 -3
- package/modules/pubxaiAnalyticsAdapter.js +17 -0
- package/modules/relaidoBidAdapter.js +86 -65
- package/modules/richaudienceBidAdapter.js +2 -3
- package/modules/rtdModule/index.js +48 -18
- package/modules/rubiconBidAdapter.js +31 -19
- package/modules/sharedIdSystem.js +27 -1
- package/modules/smaatoBidAdapter.js +4 -1
- package/modules/smartxBidAdapter.js +17 -1
- package/modules/tappxBidAdapter.js +3 -1
- package/modules/targetVideoBidAdapter.js +187 -0
- package/modules/targetVideoBidAdapter.md +34 -0
- package/modules/telariaBidAdapter.js +2 -2
- package/modules/trustxBidAdapter.js +8 -16
- package/modules/undertoneBidAdapter.js +8 -1
- package/modules/userId/index.js +27 -2
- package/modules/ventes.md +71 -0
- package/modules/ventesBidAdapter.js +104 -64
- package/modules/ventesBidAdapter.md +0 -1
- package/modules/vidoomyBidAdapter.js +16 -10
- package/modules/visxBidAdapter.js +19 -2
- package/modules/visxBidAdapter.md +4 -6
- package/modules/weboramaRtdProvider.js +288 -73
- package/modules/weboramaRtdProvider.md +27 -10
- package/modules/yahoosspBidAdapter.js +5 -1
- package/modules/yahoosspBidAdapter.md +1 -1
- package/modules/yieldmoBidAdapter.js +23 -5
- package/modules/yieldoneBidAdapter.js +115 -11
- package/modules/zetaSspBidAdapter.md +33 -1
- package/modules/zeta_global_sspAnalyticsAdapter.js +97 -0
- package/modules/zeta_global_sspAnalyticsAdapter.md +24 -0
- package/modules/zeta_global_sspBidAdapter.js +22 -1
- package/package.json +1 -1
- package/plugins/pbjsGlobals.js +28 -1
- package/src/auction.js +5 -4
- package/src/config.js +27 -3
- package/src/prebid.js +3 -2
- package/src/targeting.js +24 -3
- package/src/utils.js +53 -8
- package/test/helpers/prebidGlobal.js +1 -0
- package/test/spec/config_spec.js +279 -0
- package/test/spec/integration/faker/googletag.js +6 -0
- package/test/spec/modules/33acrossBidAdapter_spec.js +300 -78
- package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +35 -0
- package/test/spec/modules/adomikAnalyticsAdapter_spec.js +6 -0
- package/test/spec/modules/adplusBidAdapter_spec.js +213 -0
- package/test/spec/modules/adxcgBidAdapter_spec.js +820 -571
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +75 -0
- package/test/spec/modules/appnexusBidAdapter_spec.js +49 -1
- package/test/spec/modules/beachfrontBidAdapter_spec.js +65 -1
- package/test/spec/modules/beopBidAdapter_spec.js +1 -1
- package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
- package/test/spec/modules/bidViewability_spec.js +4 -4
- package/test/spec/modules/colossussspBidAdapter_spec.js +9 -0
- package/test/spec/modules/compassBidAdapter_spec.js +397 -0
- package/test/spec/modules/consentManagement_spec.js +20 -0
- package/test/spec/modules/cwireBidAdapter_spec.js +10 -8
- package/test/spec/modules/dailyhuntBidAdapter_spec.js +404 -0
- package/test/spec/modules/dchain_spec.js +329 -0
- package/test/spec/modules/docereeBidAdapter_spec.js +9 -1
- package/test/spec/modules/emx_digitalBidAdapter_spec.js +10 -0
- package/test/spec/modules/feedadBidAdapter_spec.js +15 -0
- package/test/spec/modules/freewheel-sspBidAdapter_spec.js +19 -0
- package/test/spec/modules/goldbachBidAdapter_spec.js +1359 -0
- package/test/spec/modules/gptPreAuction_spec.js +177 -2
- package/test/spec/modules/gumgumBidAdapter_spec.js +6 -0
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -1
- package/test/spec/modules/intersectionRtdProvider_spec.js +141 -0
- package/test/spec/modules/invibesBidAdapter_spec.js +148 -4
- package/test/spec/modules/ipromBidAdapter_spec.js +195 -0
- package/test/spec/modules/ixBidAdapter_spec.js +112 -62
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +84 -23
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +22 -0
- package/test/spec/modules/livewrappedBidAdapter_spec.js +31 -0
- package/test/spec/modules/loglyliftBidAdapter_spec.js +172 -0
- package/test/spec/modules/lotamePanoramaIdSystem_spec.js +227 -0
- package/test/spec/modules/luponmediaBidAdapter_spec.js +412 -0
- package/test/spec/modules/mediasquareBidAdapter_spec.js +4 -4
- package/test/spec/modules/missenaBidAdapter_spec.js +134 -0
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +26 -1
- package/test/spec/modules/optimeraRtdProvider_spec.js +14 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +43 -31
- package/test/spec/modules/prebidServerBidAdapter_spec.js +43 -0
- package/test/spec/modules/pubgeniusBidAdapter_spec.js +3 -3
- package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
- package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +11 -0
- package/test/spec/modules/realTimeDataModule_spec.js +135 -49
- package/test/spec/modules/relaidoBidAdapter_spec.js +71 -63
- package/test/spec/modules/richaudienceBidAdapter_spec.js +2 -2
- package/test/spec/modules/rubiconBidAdapter_spec.js +65 -9
- package/test/spec/modules/sharedIdSystem_spec.js +52 -6
- package/test/spec/modules/smaatoBidAdapter_spec.js +31 -0
- package/test/spec/modules/smartxBidAdapter_spec.js +9 -0
- package/test/spec/modules/tappxBidAdapter_spec.js +4 -0
- package/test/spec/modules/targetVideoBidAdapter_spec.js +96 -0
- package/test/spec/modules/userId_spec.js +51 -0
- package/test/spec/modules/visxBidAdapter_spec.js +120 -4
- package/test/spec/modules/weboramaRtdProvider_spec.js +408 -214
- package/test/spec/modules/yahoosspBidAdapter_spec.js +28 -1
- package/test/spec/modules/yieldoneBidAdapter_spec.js +299 -53
- package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +427 -0
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +33 -1
- package/test/spec/unit/core/targeting_spec.js +116 -0
- package/test/spec/utils_spec.js +38 -0
- package/test/test_deps.js +3 -0
- package/test/test_index.js +1 -3
|
@@ -95,6 +95,40 @@ describe('Adyoulike Adapter', function () {
|
|
|
95
95
|
}
|
|
96
96
|
];
|
|
97
97
|
|
|
98
|
+
const bidRequestWithMultipleMediatype = [
|
|
99
|
+
{
|
|
100
|
+
'bidId': 'bid_id_0',
|
|
101
|
+
'bidder': 'adyoulike',
|
|
102
|
+
'placementCode': 'adunit/hb-0',
|
|
103
|
+
'params': {
|
|
104
|
+
'placement': 'placement_0'
|
|
105
|
+
},
|
|
106
|
+
'sizes': '300x250',
|
|
107
|
+
'mediaTypes': {
|
|
108
|
+
'banner': {
|
|
109
|
+
'sizes': ['640x480']
|
|
110
|
+
},
|
|
111
|
+
'video': {
|
|
112
|
+
'playerSize': [640, 480],
|
|
113
|
+
'context': 'outstream'
|
|
114
|
+
},
|
|
115
|
+
'native': {
|
|
116
|
+
'image': {
|
|
117
|
+
'required': true,
|
|
118
|
+
},
|
|
119
|
+
'title': {
|
|
120
|
+
'required': true,
|
|
121
|
+
'len': 80
|
|
122
|
+
},
|
|
123
|
+
'cta': {
|
|
124
|
+
'required': false
|
|
125
|
+
},
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
'transactionId': 'bid_id_0_transaction_id'
|
|
129
|
+
}
|
|
130
|
+
];
|
|
131
|
+
|
|
98
132
|
const bidRequestWithNativeImageType = [
|
|
99
133
|
{
|
|
100
134
|
'bidId': 'bid_id_0',
|
|
@@ -590,6 +624,32 @@ describe('Adyoulike Adapter', function () {
|
|
|
590
624
|
expect(payload.gdprConsent.consentRequired).to.be.null;
|
|
591
625
|
});
|
|
592
626
|
|
|
627
|
+
it('should add userid eids information to the request', function () {
|
|
628
|
+
let bidderRequest = {
|
|
629
|
+
'auctionId': '1d1a030790a475',
|
|
630
|
+
'bidderRequestId': '22edbae2733bf6',
|
|
631
|
+
'timeout': 3000,
|
|
632
|
+
'userId': {
|
|
633
|
+
pubcid: '01EAJWWNEPN3CYMM5N8M5VXY22',
|
|
634
|
+
unsuported: '666'
|
|
635
|
+
}
|
|
636
|
+
};
|
|
637
|
+
|
|
638
|
+
bidderRequest.bids = bidRequestWithSinglePlacement;
|
|
639
|
+
|
|
640
|
+
const request = spec.buildRequests(bidRequestWithSinglePlacement, bidderRequest);
|
|
641
|
+
const payload = JSON.parse(request.data);
|
|
642
|
+
|
|
643
|
+
expect(payload.userId).to.exist;
|
|
644
|
+
expect(payload.userId).to.deep.equal([{
|
|
645
|
+
'source': 'pubcid.org',
|
|
646
|
+
'uids': [{
|
|
647
|
+
'atype': 1,
|
|
648
|
+
'id': '01EAJWWNEPN3CYMM5N8M5VXY22'
|
|
649
|
+
}]
|
|
650
|
+
}]);
|
|
651
|
+
});
|
|
652
|
+
|
|
593
653
|
it('sends bid request to endpoint with single placement', function () {
|
|
594
654
|
const request = spec.buildRequests(bidRequestWithSinglePlacement, bidderRequest);
|
|
595
655
|
const payload = JSON.parse(request.data);
|
|
@@ -621,6 +681,21 @@ describe('Adyoulike Adapter', function () {
|
|
|
621
681
|
expect(payload.Bids['bid_id_0'].TransactionID).to.be.equal('bid_id_0_transaction_id');
|
|
622
682
|
});
|
|
623
683
|
|
|
684
|
+
it('sends bid request to endpoint with single placement multiple mediatype', function () {
|
|
685
|
+
canonicalQuery.restore();
|
|
686
|
+
const request = spec.buildRequests(bidRequestWithMultipleMediatype, bidderRequest);
|
|
687
|
+
const payload = JSON.parse(request.data);
|
|
688
|
+
|
|
689
|
+
expect(request.url).to.contain(getEndpoint());
|
|
690
|
+
expect(request.method).to.equal('POST');
|
|
691
|
+
|
|
692
|
+
expect(request.url).to.not.contains('CanonicalUrl=' + encodeURIComponent(canonicalUrl));
|
|
693
|
+
expect(payload.Version).to.equal('1.0');
|
|
694
|
+
expect(payload.Bids['bid_id_0'].PlacementID).to.be.equal('placement_0');
|
|
695
|
+
expect(payload.PageRefreshed).to.equal(false);
|
|
696
|
+
expect(payload.Bids['bid_id_0'].TransactionID).to.be.equal('bid_id_0_transaction_id');
|
|
697
|
+
});
|
|
698
|
+
|
|
624
699
|
it('sends bid request to endpoint with multiple placements', function () {
|
|
625
700
|
const request = spec.buildRequests(bidRequestMultiPlacements, bidderRequest);
|
|
626
701
|
const payload = JSON.parse(request.data);
|
|
@@ -1004,12 +1004,16 @@ describe('AppNexusAdapter', function () {
|
|
|
1004
1004
|
|
|
1005
1005
|
describe('interpretResponse', function () {
|
|
1006
1006
|
let bfStub;
|
|
1007
|
+
let bidderSettingsStorage;
|
|
1008
|
+
|
|
1007
1009
|
before(function() {
|
|
1008
1010
|
bfStub = sinon.stub(bidderFactory, 'getIabSubCategory');
|
|
1011
|
+
bidderSettingsStorage = $$PREBID_GLOBAL$$.bidderSettings;
|
|
1009
1012
|
});
|
|
1010
1013
|
|
|
1011
1014
|
after(function() {
|
|
1012
1015
|
bfStub.restore();
|
|
1016
|
+
$$PREBID_GLOBAL$$.bidderSettings = bidderSettingsStorage;
|
|
1013
1017
|
});
|
|
1014
1018
|
|
|
1015
1019
|
let response = {
|
|
@@ -1077,6 +1081,15 @@ describe('AppNexusAdapter', function () {
|
|
|
1077
1081
|
'adUnitCode': 'code',
|
|
1078
1082
|
'appnexus': {
|
|
1079
1083
|
'buyerMemberId': 958
|
|
1084
|
+
},
|
|
1085
|
+
'meta': {
|
|
1086
|
+
'dchain': {
|
|
1087
|
+
'ver': '1.0',
|
|
1088
|
+
'complete': 0,
|
|
1089
|
+
'nodes': [{
|
|
1090
|
+
'bsid': '958'
|
|
1091
|
+
}]
|
|
1092
|
+
}
|
|
1080
1093
|
}
|
|
1081
1094
|
}
|
|
1082
1095
|
];
|
|
@@ -1085,11 +1098,46 @@ describe('AppNexusAdapter', function () {
|
|
|
1085
1098
|
bidId: '3db3773286ee59',
|
|
1086
1099
|
adUnitCode: 'code'
|
|
1087
1100
|
}]
|
|
1088
|
-
}
|
|
1101
|
+
};
|
|
1089
1102
|
let result = spec.interpretResponse({ body: response }, {bidderRequest});
|
|
1090
1103
|
expect(Object.keys(result[0])).to.have.members(Object.keys(expectedResponse[0]));
|
|
1091
1104
|
});
|
|
1092
1105
|
|
|
1106
|
+
it('should reject 0 cpm bids', function () {
|
|
1107
|
+
let zeroCpmResponse = deepClone(response);
|
|
1108
|
+
zeroCpmResponse.tags[0].ads[0].cpm = 0;
|
|
1109
|
+
|
|
1110
|
+
let bidderRequest = {
|
|
1111
|
+
bidderCode: 'appnexus'
|
|
1112
|
+
};
|
|
1113
|
+
|
|
1114
|
+
let result = spec.interpretResponse({ body: zeroCpmResponse }, { bidderRequest });
|
|
1115
|
+
expect(result.length).to.equal(0);
|
|
1116
|
+
});
|
|
1117
|
+
|
|
1118
|
+
it('should allow 0 cpm bids if allowZeroCpmBids setConfig is true', function () {
|
|
1119
|
+
$$PREBID_GLOBAL$$.bidderSettings = {
|
|
1120
|
+
appnexus: {
|
|
1121
|
+
allowZeroCpmBids: true
|
|
1122
|
+
}
|
|
1123
|
+
};
|
|
1124
|
+
|
|
1125
|
+
let zeroCpmResponse = deepClone(response);
|
|
1126
|
+
zeroCpmResponse.tags[0].ads[0].cpm = 0;
|
|
1127
|
+
|
|
1128
|
+
let bidderRequest = {
|
|
1129
|
+
bidderCode: 'appnexus',
|
|
1130
|
+
bids: [{
|
|
1131
|
+
bidId: '3db3773286ee59',
|
|
1132
|
+
adUnitCode: 'code'
|
|
1133
|
+
}]
|
|
1134
|
+
};
|
|
1135
|
+
|
|
1136
|
+
let result = spec.interpretResponse({ body: zeroCpmResponse }, { bidderRequest });
|
|
1137
|
+
expect(result.length).to.equal(1);
|
|
1138
|
+
expect(result[0].cpm).to.equal(0);
|
|
1139
|
+
});
|
|
1140
|
+
|
|
1093
1141
|
it('handles nobid responses', function () {
|
|
1094
1142
|
let response = {
|
|
1095
1143
|
'version': '0.0.1',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { spec, VIDEO_ENDPOINT, BANNER_ENDPOINT, OUTSTREAM_SRC, DEFAULT_MIMES } from 'modules/beachfrontBidAdapter.js';
|
|
3
|
-
import {
|
|
3
|
+
import { config } from 'src/config.js';
|
|
4
|
+
import { parseUrl, deepAccess } from 'src/utils.js';
|
|
4
5
|
|
|
5
6
|
describe('BeachfrontAdapter', function () {
|
|
6
7
|
let bidRequests;
|
|
@@ -556,6 +557,69 @@ describe('BeachfrontAdapter', function () {
|
|
|
556
557
|
});
|
|
557
558
|
});
|
|
558
559
|
|
|
560
|
+
describe('with first-party data', function () {
|
|
561
|
+
let sandbox
|
|
562
|
+
|
|
563
|
+
beforeEach(function () {
|
|
564
|
+
sandbox = sinon.sandbox.create();
|
|
565
|
+
});
|
|
566
|
+
|
|
567
|
+
afterEach(function () {
|
|
568
|
+
sandbox.restore();
|
|
569
|
+
});
|
|
570
|
+
|
|
571
|
+
it('must add first-party data to the video bid request', function () {
|
|
572
|
+
sandbox.stub(config, 'getConfig').callsFake(key => {
|
|
573
|
+
const cfg = {
|
|
574
|
+
ortb2: {
|
|
575
|
+
site: {
|
|
576
|
+
keywords: 'test keyword'
|
|
577
|
+
},
|
|
578
|
+
user: {
|
|
579
|
+
data: 'some user data'
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
};
|
|
583
|
+
return deepAccess(cfg, key);
|
|
584
|
+
});
|
|
585
|
+
const bidRequest = bidRequests[0];
|
|
586
|
+
bidRequest.mediaTypes = { video: {} };
|
|
587
|
+
const bidderRequest = {
|
|
588
|
+
refererInfo: {
|
|
589
|
+
referer: 'http://example.com/page.html'
|
|
590
|
+
}
|
|
591
|
+
};
|
|
592
|
+
const requests = spec.buildRequests([ bidRequest ], bidderRequest);
|
|
593
|
+
const data = requests[0].data;
|
|
594
|
+
expect(data.user.data).to.equal('some user data');
|
|
595
|
+
expect(data.site.keywords).to.equal('test keyword');
|
|
596
|
+
expect(data.site.page).to.equal('http://example.com/page.html');
|
|
597
|
+
expect(data.site.domain).to.equal('example.com');
|
|
598
|
+
});
|
|
599
|
+
|
|
600
|
+
it('must add first-party data to the banner bid request', function () {
|
|
601
|
+
sandbox.stub(config, 'getConfig').callsFake(key => {
|
|
602
|
+
const cfg = {
|
|
603
|
+
ortb2: {
|
|
604
|
+
site: {
|
|
605
|
+
keywords: 'test keyword'
|
|
606
|
+
},
|
|
607
|
+
user: {
|
|
608
|
+
data: 'some user data'
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
return deepAccess(cfg, key);
|
|
613
|
+
});
|
|
614
|
+
const bidRequest = bidRequests[0];
|
|
615
|
+
bidRequest.mediaTypes = { banner: {} };
|
|
616
|
+
const requests = spec.buildRequests([ bidRequest ]);
|
|
617
|
+
const data = requests[0].data;
|
|
618
|
+
expect(data.ortb2.user.data).to.equal('some user data');
|
|
619
|
+
expect(data.ortb2.site.keywords).to.equal('test keyword');
|
|
620
|
+
});
|
|
621
|
+
});
|
|
622
|
+
|
|
559
623
|
describe('for multi-format bids', function () {
|
|
560
624
|
it('should create a POST request for each bid format', function () {
|
|
561
625
|
const width = 300;
|
|
@@ -124,7 +124,7 @@ describe('BeOp Bid Adapter tests', () => {
|
|
|
124
124
|
expect(payload.tc_string).to.exist;
|
|
125
125
|
expect(payload.tc_string).to.equal('BOJ8RZsOJ8RZsABAB8AAAAAZ+A==');
|
|
126
126
|
expect(payload.url).to.exist;
|
|
127
|
-
expect(payload.url).to.equal('http://
|
|
127
|
+
expect(payload.url).to.equal('http://localhost:9876/context.html');
|
|
128
128
|
});
|
|
129
129
|
});
|
|
130
130
|
|
|
@@ -3,7 +3,7 @@ import * as events from 'src/events.js';
|
|
|
3
3
|
import * as utils from 'src/utils.js';
|
|
4
4
|
import * as sinon from 'sinon';
|
|
5
5
|
import { expect } from 'chai';
|
|
6
|
-
import
|
|
6
|
+
import CONSTANTS from 'src/constants.json';
|
|
7
7
|
|
|
8
8
|
describe('#bidViewabilityIO', function() {
|
|
9
9
|
const makeElement = (id) => {
|
|
@@ -97,7 +97,7 @@ describe('#bidViewabilityIO', function() {
|
|
|
97
97
|
expect(mockObserver.unobserve.calledOnce).to.be.true;
|
|
98
98
|
expect(emitSpy.calledOnce).to.be.true;
|
|
99
99
|
// expect(emitSpy.firstCall.args).to.be.false;
|
|
100
|
-
expect(emitSpy.firstCall.args[0]).to.eq(EVENTS.BID_VIEWABLE);
|
|
100
|
+
expect(emitSpy.firstCall.args[0]).to.eq(CONSTANTS.EVENTS.BID_VIEWABLE);
|
|
101
101
|
});
|
|
102
102
|
})
|
|
103
103
|
|
|
@@ -5,7 +5,7 @@ import * as utils from 'src/utils.js';
|
|
|
5
5
|
import * as sinon from 'sinon';
|
|
6
6
|
import {expect, spy} from 'chai';
|
|
7
7
|
import * as prebidGlobal from 'src/prebidGlobal.js';
|
|
8
|
-
import
|
|
8
|
+
import CONSTANTS from 'src/constants.json';
|
|
9
9
|
import adapterManager, { gdprDataHandler, uspDataHandler } from 'src/adapterManager.js';
|
|
10
10
|
import parse from 'url-parse';
|
|
11
11
|
|
|
@@ -279,9 +279,9 @@ describe('#bidViewability', function() {
|
|
|
279
279
|
let call = callBidViewableBidderSpy.getCall(0);
|
|
280
280
|
expect(call.args[0]).to.equal(PBJS_WINNING_BID.bidder);
|
|
281
281
|
expect(call.args[1]).to.deep.equal(PBJS_WINNING_BID);
|
|
282
|
-
// EVENTS.BID_VIEWABLE is triggered
|
|
282
|
+
// CONSTANTS.EVENTS.BID_VIEWABLE is triggered
|
|
283
283
|
call = eventsEmitSpy.getCall(0);
|
|
284
|
-
expect(call.args[0]).to.equal(EVENTS.BID_VIEWABLE);
|
|
284
|
+
expect(call.args[0]).to.equal(CONSTANTS.EVENTS.BID_VIEWABLE);
|
|
285
285
|
expect(call.args[1]).to.deep.equal(PBJS_WINNING_BID);
|
|
286
286
|
});
|
|
287
287
|
|
|
@@ -290,7 +290,7 @@ describe('#bidViewability', function() {
|
|
|
290
290
|
expect(triggerPixelSpy.callCount).to.equal(0);
|
|
291
291
|
// adapterManager.callBidViewableBidder is NOT called
|
|
292
292
|
expect(callBidViewableBidderSpy.callCount).to.equal(0);
|
|
293
|
-
// EVENTS.BID_VIEWABLE is NOT triggered
|
|
293
|
+
// CONSTANTS.EVENTS.BID_VIEWABLE is NOT triggered
|
|
294
294
|
expect(eventsEmitSpy.callCount).to.equal(0);
|
|
295
295
|
});
|
|
296
296
|
});
|
|
@@ -186,6 +186,15 @@ describe('ColossussspAdapter', function () {
|
|
|
186
186
|
});
|
|
187
187
|
});
|
|
188
188
|
|
|
189
|
+
describe('onBidWon', function () {
|
|
190
|
+
it('should make an ajax call', function () {
|
|
191
|
+
const bid = {
|
|
192
|
+
nurl: 'http://example.com/win',
|
|
193
|
+
};
|
|
194
|
+
expect(spec.onBidWon(bid)).to.equals(undefined);
|
|
195
|
+
});
|
|
196
|
+
})
|
|
197
|
+
|
|
189
198
|
describe('getUserSyncs', function () {
|
|
190
199
|
let userSync = spec.getUserSyncs();
|
|
191
200
|
it('Returns valid URL and type', function () {
|