prebid.js 8.43.0 → 8.45.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/README.md +7 -1
- package/creative/constants.js +7 -7
- package/creative/renderers/display/constants.js +2 -2
- package/creative/renderers/native/constants.js +2 -2
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/adWMGAnalyticsAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/adkernelBidAdapter.js +1 -1
- package/dist/adlooxAdServerVideo.js +1 -1
- package/dist/adlooxAnalyticsAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adomikAnalyticsAdapter.js +1 -1
- package/dist/adpod.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adxpremiumAnalyticsAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/analyticsAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/asteriobidAnalyticsAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/automatadAnalyticsAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidViewability.js +1 -1
- package/dist/bidViewabilityIO.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/brandmetricsRtdProvider.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/chunk-paapi.js +1 -1
- package/dist/cleanioRtdProvider.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/confiantRtdProvider.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagementUsp.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/creative-renderer-native.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/currency.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -0
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/datawrkzBidAdapter.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/debugging.js +1 -1
- package/dist/dependencies.json +3 -3
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/dsaControl.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.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/fintezaAnalyticsAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/genericAnalyticsAdapter.js +1 -1
- package/dist/geoedgeRtdProvider.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/growthCodeAnalyticsAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/holidBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/illuminBidAdapter.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/instreamTracking.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/jwplayerRtdProvider.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/limelightDigitalBidAdapter.js +1 -1
- package/dist/liveIntentAnalyticsAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/loyalBidAdapter.js +1 -0
- package/dist/luceadBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafilterRtdProvider.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.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/missenaBidAdapter.js +1 -1
- package/dist/multibid.js +1 -1
- package/dist/neuwoRtdProvider.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +242 -239
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openwebBidAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/oxxionAnalyticsAdapter.js +1 -1
- package/dist/oxxionRtdProvider.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pbsExtensions.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pgamsspBidAdapter.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pirIdSystem.js +1 -0
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/priceFloors.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/publirBidAdapter.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubperfAnalyticsAdapter.js +1 -1
- package/dist/pubstackAnalyticsAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pulsepointAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/qortexRtdProvider.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/relevantAnalyticsAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rivrAnalyticsAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/s2sTesting.js +1 -1
- package/dist/scaleableAnalyticsAdapter.js +1 -1
- package/dist/schain.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/shinezRtbBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/sirdataRtdProvider.js +1 -1
- package/dist/sizeMapping.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/sonobiAnalyticsAdapter.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/staqAnalyticsAdapter.js +1 -1
- package/dist/stnBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tagorasBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.js +1 -1
- package/dist/topicsFpdModule.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/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videoModule.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/weboramaRtdProvider.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yandexAnalyticsAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/gulpfile.js +9 -1
- package/integrationExamples/gpt/adnuntius_example.html +7 -1
- package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
- package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
- package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
- package/integrationExamples/gpt/x-domain/creative.html +1 -1
- package/integrationExamples/{gpt → realTimeData}/jwplayerRtdProvider_example.html +28 -42
- package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
- package/libraries/creative-renderer-native/renderer.js +1 -1
- package/modules/33acrossAnalyticsAdapter.js +2 -4
- package/modules/33acrossIdSystem.js +1 -1
- package/modules/adWMGAnalyticsAdapter.js +9 -11
- package/modules/adagioAnalyticsAdapter.js +49 -46
- package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
- package/modules/adkernelBidAdapter.js +23 -102
- package/modules/adlooxAdServerVideo.js +2 -2
- package/modules/adlooxAnalyticsAdapter.js +4 -4
- package/modules/adnuntiusBidAdapter.js +50 -32
- package/modules/adomikAnalyticsAdapter.js +7 -7
- package/modules/adpod.js +3 -3
- package/modules/adxcgAnalyticsAdapter.js +10 -10
- package/modules/adxpremiumAnalyticsAdapter.js +8 -10
- package/modules/agmaAnalyticsAdapter.js +6 -7
- package/modules/appierAnalyticsAdapter.js +5 -7
- package/modules/appnexusBidAdapter.js +1 -0
- package/modules/asteriobidAnalyticsAdapter.js +14 -14
- package/modules/atsAnalyticsAdapter.js +4 -4
- package/modules/automatadAnalyticsAdapter.js +20 -20
- package/modules/azerionedgeRtdProvider.md +4 -2
- package/modules/bidViewability.js +3 -3
- package/modules/bidViewabilityIO.js +3 -3
- package/modules/bidwatchAnalyticsAdapter.js +7 -9
- package/modules/brandmetricsRtdProvider.js +6 -6
- package/modules/browsiRtdProvider.js +3 -3
- package/modules/byDataAnalyticsAdapter.js +3 -3
- package/modules/cleanioRtdProvider.js +3 -3
- package/modules/concertAnalyticsAdapter.js +5 -7
- package/modules/confiantRtdProvider.js +2 -2
- package/modules/conversantAnalyticsAdapter.js +2 -4
- package/modules/criteoBidAdapter.js +53 -10
- package/modules/currency.js +7 -7
- package/modules/dailymotionBidAdapter.js +139 -0
- package/modules/dailymotionBidAdapter.md +140 -0
- package/modules/datawrkzBidAdapter.js +4 -4
- package/modules/debugging/pbsInterceptor.js +2 -2
- package/modules/dfpAdServerVideo.js +2 -2
- package/modules/discoveryBidAdapter.js +21 -0
- package/modules/dsaControl.js +5 -5
- package/modules/eplanningAnalyticsAdapter.js +8 -8
- package/modules/fintezaAnalyticsAdapter.js +5 -5
- package/modules/gdprEnforcement.js +3 -3
- package/modules/geoedgeRtdProvider.js +2 -2
- package/modules/greenbidsAnalyticsAdapter.js +13 -10
- package/modules/greenbidsRtdProvider.js +2 -2
- package/modules/gridBidAdapter.js +2 -2
- package/modules/growthCodeAnalyticsAdapter.js +14 -14
- package/modules/gumgumBidAdapter.js +4 -1
- package/modules/hadronAnalyticsAdapter.js +14 -14
- package/modules/holidBidAdapter.js +2 -2
- package/modules/id5AnalyticsAdapter.js +7 -9
- package/modules/improvedigitalBidAdapter.js +2 -1
- package/modules/insticatorBidAdapter.js +137 -27
- package/modules/instreamTracking.js +4 -4
- package/modules/invisiblyAnalyticsAdapter.js +15 -17
- package/modules/ixBidAdapter.js +3 -3
- package/modules/jwplayerRtdProvider.js +93 -26
- package/modules/jwplayerRtdProvider.md +23 -2
- package/modules/kargoAnalyticsAdapter.js +3 -3
- package/modules/kargoBidAdapter.js +26 -31
- package/modules/konduitAnalyticsAdapter.js +13 -13
- package/modules/lassoBidAdapter.js +11 -2
- package/modules/limelightDigitalBidAdapter.js +2 -1
- package/modules/liveIntentAnalyticsAdapter.js +2 -2
- package/modules/livewrappedAnalyticsAdapter.js +10 -10
- package/modules/loyalBidAdapter.js +190 -0
- package/modules/loyalBidAdapter.md +79 -0
- package/modules/magniteAnalyticsAdapter.js +25 -23
- package/modules/malltvAnalyticsAdapter.js +4 -6
- package/modules/mediafilterRtdProvider.js +2 -2
- package/modules/medianetAnalyticsAdapter.js +12 -12
- package/modules/medianetBidAdapter.js +1 -1
- package/modules/multibid/index.js +2 -2
- package/modules/neuwoRtdProvider.js +2 -2
- package/modules/nextMillenniumBidAdapter.js +4 -4
- package/modules/nobidAnalyticsAdapter.js +9 -11
- package/modules/ooloAnalyticsAdapter.js +2 -2
- package/modules/oxxionAnalyticsAdapter.js +7 -9
- package/modules/paapi.js +20 -6
- package/modules/permutiveRtdProvider.js +21 -2
- package/modules/pgamsspBidAdapter.js +26 -3
- package/modules/pirIdSystem.js +62 -0
- package/modules/pirIdSystem.md +27 -0
- package/modules/prebidServerBidAdapter/index.js +8 -8
- package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
- package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
- package/modules/priceFloors.js +10 -5
- package/modules/pubmaticAnalyticsAdapter.js +32 -22
- package/modules/pubmaticBidAdapter.js +1 -17
- package/modules/pubwiseAnalyticsAdapter.js +11 -11
- package/modules/pubxaiAnalyticsAdapter.js +6 -6
- package/modules/qortexRtdProvider.js +2 -2
- package/modules/roxotAnalyticsAdapter.js +8 -10
- package/modules/rtdModule/index.js +7 -7
- package/modules/scaleableAnalyticsAdapter.js +5 -5
- package/modules/seedtagBidAdapter.js +12 -3
- package/modules/sigmoidAnalyticsAdapter.js +7 -7
- package/modules/sirdataRtdProvider.js +2 -0
- package/modules/smaatoBidAdapter.js +1 -2
- package/modules/sonobiAnalyticsAdapter.js +10 -12
- package/modules/sonobiBidAdapter.js +2 -5
- package/modules/sovrnAnalyticsAdapter.js +7 -9
- package/modules/sovrnBidAdapter.js +1 -1
- package/modules/staqAnalyticsAdapter.js +9 -9
- package/modules/teadsBidAdapter.js +2 -0
- package/modules/terceptAnalyticsAdapter.js +7 -7
- package/modules/topicsFpdModule.js +3 -0
- package/modules/topicsFpdModule.md +4 -0
- package/modules/ucfunnelAnalyticsAdapter.js +5 -7
- package/modules/userId/index.js +3 -3
- package/modules/videoModule/index.js +4 -4
- package/modules/yandexAnalyticsAdapter.js +2 -2
- package/modules/yieldoneAnalyticsAdapter.js +7 -7
- package/modules/yuktamediaAnalyticsAdapter.js +9 -9
- package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
- package/modules/zeta_global_sspBidAdapter.js +8 -1
- package/package.json +1 -1
- package/src/adRendering.js +15 -15
- package/src/adUnits.js +9 -21
- package/src/adapterManager.js +23 -13
- package/src/adapters/bidderFactory.js +8 -8
- package/src/auction.js +26 -28
- package/src/auctionManager.js +4 -4
- package/src/bidderSettings.js +2 -2
- package/src/config.js +2 -2
- package/src/constants.js +190 -0
- package/src/events.js +3 -3
- package/src/native.js +6 -8
- package/src/prebid.js +6 -10
- package/src/secureCreatives.js +5 -5
- package/src/targeting.js +13 -13
- package/src/utils.js +4 -4
- package/test/fixtures/fixtures.js +44 -44
- package/test/helpers/analytics.js +6 -6
- package/test/spec/AnalyticsAdapter_spec.js +3 -3
- package/test/spec/auctionmanager_spec.js +82 -82
- package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
- package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
- package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +79 -55
- package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
- package/test/spec/modules/adkernelBidAdapter_spec.js +63 -24
- package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +10 -7
- package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/agmaAnalyticsAdapter_spec.js +18 -14
- package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
- package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
- package/test/spec/modules/bidViewability_spec.js +4 -4
- package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
- package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
- package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
- package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
- package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
- package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
- package/test/spec/modules/criteoBidAdapter_spec.js +112 -6
- package/test/spec/modules/currency_spec.js +6 -6
- package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
- package/test/spec/modules/discoveryBidAdapter_spec.js +35 -1
- package/test/spec/modules/dsaControl_spec.js +4 -4
- package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
- package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
- package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
- package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
- package/test/spec/modules/gridBidAdapter_spec.js +3 -1
- package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/gumgumBidAdapter_spec.js +23 -0
- package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/id5IdSystem_spec.js +2 -2
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
- package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
- package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
- package/test/spec/modules/jwplayerRtdProvider_spec.js +672 -29
- package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/kargoBidAdapter_spec.js +36 -0
- package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
- package/test/spec/modules/lassoBidAdapter_spec.js +1 -0
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +16 -1
- package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
- package/test/spec/modules/loyalBidAdapter_spec .js +375 -0
- package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
- package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
- package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
- package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/paapi_spec.js +40 -14
- package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
- package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
- package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
- package/test/spec/modules/pirIdSystem_spec.js +77 -0
- package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
- package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/priceFloors_spec.js +6 -5
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
- package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
- package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
- package/test/spec/modules/realTimeDataModule_spec.js +9 -9
- package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
- package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
- package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
- package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
- package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
- package/test/spec/modules/sonobiBidAdapter_spec.js +4 -6
- package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
- package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/teadsBidAdapter_spec.js +35 -0
- package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/userId_spec.js +4 -4
- package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
- package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
- package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
- package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
- package/test/spec/native_spec.js +19 -19
- package/test/spec/unit/adRendering_spec.js +14 -14
- package/test/spec/unit/adUnits_spec.js +1 -1
- package/test/spec/unit/core/adapterManager_spec.js +99 -59
- package/test/spec/unit/core/bidderFactory_spec.js +6 -6
- package/test/spec/unit/core/targeting_spec.js +47 -47
- package/test/spec/unit/pbjs_api_spec.js +81 -81
- package/test/spec/unit/secureCreatives_spec.js +27 -27
- package/test/spec/utils_spec.js +2 -2
- package/src/constants.json +0 -196
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from 'src/targeting.js';
|
|
8
8
|
import {config} from 'src/config.js';
|
|
9
9
|
import {createBidReceived} from 'test/fixtures/fixtures.js';
|
|
10
|
-
import
|
|
10
|
+
import { DEFAULT_TARGETING_KEYS, JSON_MAPPING, NATIVE_KEYS, STATUS, TARGETING_KEYS } from 'src/constants.js';
|
|
11
11
|
import {auctionManager} from 'src/auctionManager.js';
|
|
12
12
|
import * as utils from 'src/utils.js';
|
|
13
13
|
import {deepClone} from 'src/utils.js';
|
|
@@ -15,7 +15,7 @@ import {createBid} from '../../../../src/bidfactory.js';
|
|
|
15
15
|
import {hook} from '../../../../src/hook.js';
|
|
16
16
|
import {getHighestCpm} from '../../../../src/utils/reducers.js';
|
|
17
17
|
|
|
18
|
-
function mkBid(bid, status =
|
|
18
|
+
function mkBid(bid, status = STATUS.GOOD) {
|
|
19
19
|
return Object.assign(createBid(status), bid);
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -40,10 +40,10 @@ const sampleBid = {
|
|
|
40
40
|
'size': '300x250',
|
|
41
41
|
'adserverTargeting': {
|
|
42
42
|
'foobar': '300x250',
|
|
43
|
-
[
|
|
44
|
-
[
|
|
45
|
-
[
|
|
46
|
-
[
|
|
43
|
+
[TARGETING_KEYS.BIDDER]: 'rubicon',
|
|
44
|
+
[TARGETING_KEYS.AD_ID]: '148018fe5e',
|
|
45
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '0.53',
|
|
46
|
+
[TARGETING_KEYS.DEAL]: '1234'
|
|
47
47
|
},
|
|
48
48
|
'dealId': '1234',
|
|
49
49
|
'netRevenue': true,
|
|
@@ -74,9 +74,9 @@ const bid2 = mkBid({
|
|
|
74
74
|
'size': '300x250',
|
|
75
75
|
'adserverTargeting': {
|
|
76
76
|
'foobar': '300x250',
|
|
77
|
-
[
|
|
78
|
-
[
|
|
79
|
-
[
|
|
77
|
+
[TARGETING_KEYS.BIDDER]: 'rubicon',
|
|
78
|
+
[TARGETING_KEYS.AD_ID]: '5454545',
|
|
79
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '0.25'
|
|
80
80
|
},
|
|
81
81
|
'netRevenue': true,
|
|
82
82
|
'currency': 'USD',
|
|
@@ -104,9 +104,9 @@ const bid3 = mkBid({
|
|
|
104
104
|
'size': '300x600',
|
|
105
105
|
'adserverTargeting': {
|
|
106
106
|
'foobar': '300x600',
|
|
107
|
-
[
|
|
108
|
-
[
|
|
109
|
-
[
|
|
107
|
+
[TARGETING_KEYS.BIDDER]: 'rubicon',
|
|
108
|
+
[TARGETING_KEYS.AD_ID]: '48747745',
|
|
109
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '0.75'
|
|
110
110
|
},
|
|
111
111
|
'netRevenue': true,
|
|
112
112
|
'currency': 'USD',
|
|
@@ -166,18 +166,18 @@ const nativeBid1 = mkBid({
|
|
|
166
166
|
'pbCg': '',
|
|
167
167
|
'size': '0x0',
|
|
168
168
|
'adserverTargeting': {
|
|
169
|
-
[
|
|
170
|
-
[
|
|
171
|
-
[
|
|
172
|
-
[
|
|
173
|
-
[
|
|
174
|
-
[
|
|
175
|
-
[
|
|
176
|
-
[
|
|
177
|
-
[
|
|
178
|
-
[
|
|
179
|
-
[
|
|
180
|
-
[
|
|
169
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus',
|
|
170
|
+
[TARGETING_KEYS.AD_ID]: '591e7c9354b633',
|
|
171
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
172
|
+
[TARGETING_KEYS.SIZE]: '0x0',
|
|
173
|
+
[TARGETING_KEYS.SOURCE]: 'client',
|
|
174
|
+
[TARGETING_KEYS.FORMAT]: 'native',
|
|
175
|
+
[NATIVE_KEYS.title]: 'This is a Prebid Native Creative',
|
|
176
|
+
[NATIVE_KEYS.body]: 'This is a Prebid Native Creative. There are many like it, but this one is mine.',
|
|
177
|
+
[NATIVE_KEYS.sponsoredBy]: 'Prebid.org',
|
|
178
|
+
[NATIVE_KEYS.clickUrl]: 'http://prebid.org/dev-docs/show-native-ads.html',
|
|
179
|
+
[NATIVE_KEYS.image]: 'http://vcdn.adnxs.com/p/creative-image/94/22/cd/0f/9422cd0f-f400-45d3-80f5-2b92629d9257.jpg',
|
|
180
|
+
[NATIVE_KEYS.icon]: 'http://vcdn.adnxs.com/p/creative-image/bd/59/a6/c6/bd59a6c6-0851-411d-a16d-031475a51312.png'
|
|
181
181
|
}
|
|
182
182
|
});
|
|
183
183
|
|
|
@@ -225,17 +225,17 @@ const nativeBid2 = mkBid({
|
|
|
225
225
|
'pbCg': '',
|
|
226
226
|
'size': '0x0',
|
|
227
227
|
'adserverTargeting': {
|
|
228
|
-
[
|
|
229
|
-
[
|
|
230
|
-
[
|
|
231
|
-
[
|
|
232
|
-
[
|
|
233
|
-
[
|
|
234
|
-
[
|
|
235
|
-
[
|
|
236
|
-
[
|
|
237
|
-
[
|
|
238
|
-
[
|
|
228
|
+
[TARGETING_KEYS.BIDDER]: 'dgads',
|
|
229
|
+
[TARGETING_KEYS.AD_ID]: '6e0aba55ed54e5',
|
|
230
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '1.90',
|
|
231
|
+
[TARGETING_KEYS.SIZE]: '0x0',
|
|
232
|
+
[TARGETING_KEYS.SOURCE]: 'client',
|
|
233
|
+
[TARGETING_KEYS.FORMAT]: 'native',
|
|
234
|
+
[NATIVE_KEYS.image]: 'https://ads-tr.bigmining.com/img/300x250.png',
|
|
235
|
+
[NATIVE_KEYS.title]: 'Test Title',
|
|
236
|
+
[NATIVE_KEYS.body]: 'Test Description',
|
|
237
|
+
[NATIVE_KEYS.sponsoredBy]: 'test.com',
|
|
238
|
+
[NATIVE_KEYS.clickUrl]: 'http://prebid.org/'
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
241
|
|
|
@@ -351,7 +351,7 @@ describe('targeting tests', function () {
|
|
|
351
351
|
return [
|
|
352
352
|
{
|
|
353
353
|
'code': adUnitCode,
|
|
354
|
-
[
|
|
354
|
+
[JSON_MAPPING.ADSERVER_TARGETING]: adServerTargeting
|
|
355
355
|
}
|
|
356
356
|
];
|
|
357
357
|
});
|
|
@@ -489,7 +489,7 @@ describe('targeting tests', function () {
|
|
|
489
489
|
});
|
|
490
490
|
|
|
491
491
|
const targeting = targetingInstance.getAllTargeting(['/123456/header-bid-tag-0']);
|
|
492
|
-
let limitedBids = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(
|
|
492
|
+
let limitedBids = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(TARGETING_KEYS.PRICE_BUCKET + '_') != -1)
|
|
493
493
|
|
|
494
494
|
expect(limitedBids.length).to.equal(1);
|
|
495
495
|
});
|
|
@@ -502,7 +502,7 @@ describe('targeting tests', function () {
|
|
|
502
502
|
});
|
|
503
503
|
|
|
504
504
|
const targeting = targetingInstance.getAllTargeting(['/123456/header-bid-tag-0']);
|
|
505
|
-
let limitedBids = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(
|
|
505
|
+
let limitedBids = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(TARGETING_KEYS.PRICE_BUCKET + '_') != -1)
|
|
506
506
|
|
|
507
507
|
expect(limitedBids.length).to.equal(2);
|
|
508
508
|
});
|
|
@@ -515,7 +515,7 @@ describe('targeting tests', function () {
|
|
|
515
515
|
});
|
|
516
516
|
|
|
517
517
|
const targeting = targetingInstance.getAllTargeting(['/123456/header-bid-tag-0']);
|
|
518
|
-
let limitedBids = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(
|
|
518
|
+
let limitedBids = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(TARGETING_KEYS.PRICE_BUCKET + '_') != -1)
|
|
519
519
|
|
|
520
520
|
expect(limitedBids.length).to.equal(2);
|
|
521
521
|
});
|
|
@@ -611,7 +611,7 @@ describe('targeting tests', function () {
|
|
|
611
611
|
beforeEach(function () {
|
|
612
612
|
bidsReceived = [bid1, bid2, nativeBid1, nativeBid2].map(deepClone);
|
|
613
613
|
bidsReceived.forEach((bid) => {
|
|
614
|
-
bid.adserverTargeting[
|
|
614
|
+
bid.adserverTargeting[TARGETING_KEYS.SOURCE] = 'test-source';
|
|
615
615
|
bid.adUnitCode = 'adunit';
|
|
616
616
|
if (winningBid == null || bid.cpm > winningBid.cpm) {
|
|
617
617
|
winningBid = bid;
|
|
@@ -642,7 +642,7 @@ describe('targeting tests', function () {
|
|
|
642
642
|
addTargetingKeys: ['SOURCE']
|
|
643
643
|
}
|
|
644
644
|
});
|
|
645
|
-
expect(targetingResult()).to.include.all.keys(...expandKey(
|
|
645
|
+
expect(targetingResult()).to.include.all.keys(...expandKey(TARGETING_KEYS.SOURCE));
|
|
646
646
|
});
|
|
647
647
|
|
|
648
648
|
it('should keep default and native keys', function() {
|
|
@@ -651,9 +651,9 @@ describe('targeting tests', function () {
|
|
|
651
651
|
addTargetingKeys: ['SOURCE']
|
|
652
652
|
}
|
|
653
653
|
});
|
|
654
|
-
const defaultKeys = new Set(Object.values(
|
|
654
|
+
const defaultKeys = new Set(Object.values(DEFAULT_TARGETING_KEYS));
|
|
655
655
|
if (FEATURES.NATIVE) {
|
|
656
|
-
Object.values(
|
|
656
|
+
Object.values(NATIVE_KEYS).forEach((k) => defaultKeys.add(k));
|
|
657
657
|
}
|
|
658
658
|
|
|
659
659
|
const expectedKeys = new Set();
|
|
@@ -670,8 +670,8 @@ describe('targeting tests', function () {
|
|
|
670
670
|
it('should not be allowed together with allowTargetingKeys', function () {
|
|
671
671
|
config.setConfig({
|
|
672
672
|
targetingControls: {
|
|
673
|
-
allowTargetingKeys: [
|
|
674
|
-
addTargetingKeys: [
|
|
673
|
+
allowTargetingKeys: [TARGETING_KEYS.BIDDER],
|
|
674
|
+
addTargetingKeys: [TARGETING_KEYS.SOURCE]
|
|
675
675
|
}
|
|
676
676
|
});
|
|
677
677
|
expect(targetingResult).to.throw();
|
|
@@ -849,12 +849,12 @@ describe('targeting tests', function () {
|
|
|
849
849
|
// we should only get the targeting data for the one requested adunit
|
|
850
850
|
expect(Object.keys(targeting).length).to.equal(1);
|
|
851
851
|
|
|
852
|
-
let sendAllBidCpm = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(
|
|
852
|
+
let sendAllBidCpm = Object.keys(targeting['/123456/header-bid-tag-0']).filter(key => key.indexOf(TARGETING_KEYS.PRICE_BUCKET + '_') != -1)
|
|
853
853
|
// we shouldn't get more than 1 key for hb_pb_${bidder}
|
|
854
854
|
expect(sendAllBidCpm.length).to.equal(1);
|
|
855
855
|
|
|
856
856
|
// expect the winning CPM to be equal to the sendAllBidCPM
|
|
857
|
-
expect(targeting['/123456/header-bid-tag-0'][
|
|
857
|
+
expect(targeting['/123456/header-bid-tag-0'][TARGETING_KEYS.PRICE_BUCKET + '_rubicon']).to.deep.equal(targeting['/123456/header-bid-tag-0'][TARGETING_KEYS.PRICE_BUCKET]);
|
|
858
858
|
});
|
|
859
859
|
|
|
860
860
|
if (FEATURES.NATIVE) {
|
|
@@ -27,6 +27,7 @@ import {enrichFPD} from '../../../src/fpd/enrichment.js';
|
|
|
27
27
|
import {mockFpdEnrichments} from '../../helpers/fpd.js';
|
|
28
28
|
import {generateUUID} from '../../../src/utils.js';
|
|
29
29
|
import {getCreativeRenderer} from '../../../src/creativeRenderers.js';
|
|
30
|
+
import { BID_STATUS, EVENTS, GRANULARITY_OPTIONS, TARGETING_KEYS } from 'src/constants.js';
|
|
30
31
|
|
|
31
32
|
var assert = require('chai').assert;
|
|
32
33
|
var expect = require('chai').expect;
|
|
@@ -34,7 +35,6 @@ var expect = require('chai').expect;
|
|
|
34
35
|
var utils = require('src/utils');
|
|
35
36
|
var adapterManager = require('src/adapterManager').default;
|
|
36
37
|
var events = require('src/events');
|
|
37
|
-
var CONSTANTS = require('src/constants.json');
|
|
38
38
|
|
|
39
39
|
// These bid adapters are required to be loaded for the following tests to work
|
|
40
40
|
require('modules/appnexusBidAdapter');
|
|
@@ -284,7 +284,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
284
284
|
it('should return targeting info as a string', function () {
|
|
285
285
|
const adUnitCode = config.adUnitCodes[0];
|
|
286
286
|
$$PREBID_GLOBAL$$.setConfig({ enableSendAllBids: true });
|
|
287
|
-
var expected = 'foobar=0x0%2C300x250%2C300x600&' +
|
|
287
|
+
var expected = 'foobar=0x0%2C300x250%2C300x600&' + TARGETING_KEYS.SIZE + '=300x250&' + TARGETING_KEYS.PRICE_BUCKET + '=10.00&' + TARGETING_KEYS.AD_ID + '=233bcbee889d46d&' + TARGETING_KEYS.BIDDER + '=appnexus&' + TARGETING_KEYS.SIZE + '_triplelift=0x0&' + TARGETING_KEYS.PRICE_BUCKET + '_triplelift=10.00&' + TARGETING_KEYS.AD_ID + '_triplelift=222bb26f9e8bd&' + TARGETING_KEYS.BIDDER + '_triplelift=triplelift&' + TARGETING_KEYS.SIZE + '_appnexus=300x250&' + TARGETING_KEYS.PRICE_BUCKET + '_appnexus=10.00&' + TARGETING_KEYS.AD_ID + '_appnexus=233bcbee889d46d&' + TARGETING_KEYS.BIDDER + '_appnexus=appnexus&' + TARGETING_KEYS.SIZE + '_pagescience=300x250&' + TARGETING_KEYS.PRICE_BUCKET + '_pagescience=10.00&' + TARGETING_KEYS.AD_ID + '_pagescience=25bedd4813632d7&' + TARGETING_KEYS.BIDDER + '_pagescienc=pagescience&' + TARGETING_KEYS.SIZE + '_brightcom=300x250&' + TARGETING_KEYS.PRICE_BUCKET + '_brightcom=10.00&' + TARGETING_KEYS.AD_ID + '_brightcom=26e0795ab963896&' + TARGETING_KEYS.BIDDER + '_brightcom=brightcom&' + TARGETING_KEYS.SIZE + '_brealtime=300x250&' + TARGETING_KEYS.PRICE_BUCKET + '_brealtime=10.00&' + TARGETING_KEYS.AD_ID + '_brealtime=275bd666f5a5a5d&' + TARGETING_KEYS.BIDDER + '_brealtime=brealtime&' + TARGETING_KEYS.SIZE + '_pubmatic=300x250&' + TARGETING_KEYS.PRICE_BUCKET + '_pubmatic=10.00&' + TARGETING_KEYS.AD_ID + '_pubmatic=28f4039c636b6a7&' + TARGETING_KEYS.BIDDER + '_pubmatic=pubmatic&' + TARGETING_KEYS.SIZE + '_rubicon=300x600&' + TARGETING_KEYS.PRICE_BUCKET + '_rubicon=10.00&' + TARGETING_KEYS.AD_ID + '_rubicon=29019e2ab586a5a&' + TARGETING_KEYS.BIDDER + '_rubicon=rubicon';
|
|
288
288
|
var result = $$PREBID_GLOBAL$$.getAdserverTargetingForAdUnitCodeStr(adUnitCode);
|
|
289
289
|
assert.equal(expected, result, 'returns expected string of ad targeting info');
|
|
290
290
|
});
|
|
@@ -330,17 +330,17 @@ describe('Unit: Prebid Module', function () {
|
|
|
330
330
|
var expected = {
|
|
331
331
|
'/19968336/header-bid-tag-0': {
|
|
332
332
|
foobar: '0x0,300x250,300x600',
|
|
333
|
-
[
|
|
334
|
-
[
|
|
335
|
-
[
|
|
336
|
-
[
|
|
333
|
+
[TARGETING_KEYS.SIZE]: '300x250',
|
|
334
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
335
|
+
[TARGETING_KEYS.AD_ID]: '233bcbee889d46d',
|
|
336
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus'
|
|
337
337
|
},
|
|
338
338
|
'/19968336/header-bid-tag1': {
|
|
339
339
|
foobar: '728x90',
|
|
340
|
-
[
|
|
341
|
-
[
|
|
342
|
-
[
|
|
343
|
-
[
|
|
340
|
+
[TARGETING_KEYS.SIZE]: '728x90',
|
|
341
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
342
|
+
[TARGETING_KEYS.AD_ID]: '24bd938435ec3fc',
|
|
343
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus'
|
|
344
344
|
}
|
|
345
345
|
};
|
|
346
346
|
assert.deepEqual(targeting, expected);
|
|
@@ -378,17 +378,17 @@ describe('Unit: Prebid Module', function () {
|
|
|
378
378
|
'/19968336/header-bid-tag-0': {
|
|
379
379
|
foobar: '300x250,300x600',
|
|
380
380
|
always_use_me: 'abc',
|
|
381
|
-
[
|
|
382
|
-
[
|
|
383
|
-
[
|
|
384
|
-
[
|
|
381
|
+
[TARGETING_KEYS.SIZE]: '300x250',
|
|
382
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
383
|
+
[TARGETING_KEYS.AD_ID]: '233bcbee889d46d',
|
|
384
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus'
|
|
385
385
|
},
|
|
386
386
|
'/19968336/header-bid-tag1': {
|
|
387
387
|
foobar: '728x90',
|
|
388
|
-
[
|
|
389
|
-
[
|
|
390
|
-
[
|
|
391
|
-
[
|
|
388
|
+
[TARGETING_KEYS.SIZE]: '728x90',
|
|
389
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
390
|
+
[TARGETING_KEYS.AD_ID]: '24bd938435ec3fc',
|
|
391
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus'
|
|
392
392
|
}
|
|
393
393
|
};
|
|
394
394
|
assert.deepEqual(targeting, expected);
|
|
@@ -407,7 +407,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
407
407
|
$$PREBID_GLOBAL$$.bidderSettings = {
|
|
408
408
|
'standard': {
|
|
409
409
|
adserverTargeting: [{
|
|
410
|
-
key:
|
|
410
|
+
key: TARGETING_KEYS.BIDDER,
|
|
411
411
|
val: function(bidResponse) {
|
|
412
412
|
return bidResponse.bidderCode;
|
|
413
413
|
}
|
|
@@ -417,7 +417,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
417
417
|
return bidResponse.adId;
|
|
418
418
|
}
|
|
419
419
|
}, {
|
|
420
|
-
key:
|
|
420
|
+
key: TARGETING_KEYS.PRICE_BUCKET,
|
|
421
421
|
val: function(bidResponse) {
|
|
422
422
|
return bidResponse.pbMg;
|
|
423
423
|
}
|
|
@@ -436,17 +436,17 @@ describe('Unit: Prebid Module', function () {
|
|
|
436
436
|
'/19968336/header-bid-tag-0': {
|
|
437
437
|
foobar: '300x250',
|
|
438
438
|
custom_ad_id: '233bcbee889d46d',
|
|
439
|
-
[
|
|
440
|
-
[
|
|
441
|
-
[
|
|
442
|
-
[
|
|
439
|
+
[TARGETING_KEYS.SIZE]: '300x250',
|
|
440
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
441
|
+
[TARGETING_KEYS.AD_ID]: '233bcbee889d46d',
|
|
442
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus'
|
|
443
443
|
},
|
|
444
444
|
'/19968336/header-bid-tag1': {
|
|
445
445
|
foobar: '728x90',
|
|
446
|
-
[
|
|
447
|
-
[
|
|
448
|
-
[
|
|
449
|
-
[
|
|
446
|
+
[TARGETING_KEYS.SIZE]: '728x90',
|
|
447
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
448
|
+
[TARGETING_KEYS.AD_ID]: '24bd938435ec3fc',
|
|
449
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus',
|
|
450
450
|
custom_ad_id: '24bd938435ec3fc'
|
|
451
451
|
}
|
|
452
452
|
};
|
|
@@ -607,32 +607,32 @@ describe('Unit: Prebid Module', function () {
|
|
|
607
607
|
indexStub.restore();
|
|
608
608
|
});
|
|
609
609
|
|
|
610
|
-
it('should get correct ' +
|
|
610
|
+
it('should get correct ' + TARGETING_KEYS.PRICE_BUCKET + ' when using bid.cpm is between 0 to 5', function () {
|
|
611
611
|
RESPONSE.tags[0].ads[0].cpm = 2.1234;
|
|
612
612
|
auction.callBids(cbTimeout);
|
|
613
613
|
let bidTargeting = targeting.getAllTargeting();
|
|
614
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
614
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('2.12');
|
|
615
615
|
});
|
|
616
616
|
|
|
617
|
-
it('should get correct ' +
|
|
617
|
+
it('should get correct ' + TARGETING_KEYS.PRICE_BUCKET + ' when using bid.cpm is between 5 to 8', function () {
|
|
618
618
|
RESPONSE.tags[0].ads[0].cpm = 6.78;
|
|
619
619
|
auction.callBids(cbTimeout);
|
|
620
620
|
let bidTargeting = targeting.getAllTargeting();
|
|
621
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
621
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('6.75');
|
|
622
622
|
});
|
|
623
623
|
|
|
624
|
-
it('should get correct ' +
|
|
624
|
+
it('should get correct ' + TARGETING_KEYS.PRICE_BUCKET + ' when using bid.cpm is between 8 to 20', function () {
|
|
625
625
|
RESPONSE.tags[0].ads[0].cpm = 19.5234;
|
|
626
626
|
auction.callBids(cbTimeout);
|
|
627
627
|
let bidTargeting = targeting.getAllTargeting();
|
|
628
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
628
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('19.50');
|
|
629
629
|
});
|
|
630
630
|
|
|
631
|
-
it('should get correct ' +
|
|
631
|
+
it('should get correct ' + TARGETING_KEYS.PRICE_BUCKET + ' when using bid.cpm is between 20 to 25', function () {
|
|
632
632
|
RESPONSE.tags[0].ads[0].cpm = 21.5234;
|
|
633
633
|
auction.callBids(cbTimeout);
|
|
634
634
|
let bidTargeting = targeting.getAllTargeting();
|
|
635
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
635
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('21.00');
|
|
636
636
|
});
|
|
637
637
|
});
|
|
638
638
|
|
|
@@ -867,7 +867,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
867
867
|
indexStub.restore();
|
|
868
868
|
});
|
|
869
869
|
|
|
870
|
-
it('should get correct ' +
|
|
870
|
+
it('should get correct ' + TARGETING_KEYS.PRICE_BUCKET + ' with cpm between 0 - 5', function () {
|
|
871
871
|
initTestConfig({
|
|
872
872
|
adUnits: [createAdUnit('div-gpt-ad-1460505748561-0')],
|
|
873
873
|
adUnitCodes: ['div-gpt-ad-1460505748561-0']
|
|
@@ -878,10 +878,10 @@ describe('Unit: Prebid Module', function () {
|
|
|
878
878
|
|
|
879
879
|
auction.callBids(cbTimeout);
|
|
880
880
|
let bidTargeting = targeting.getAllTargeting();
|
|
881
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
881
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('3.25');
|
|
882
882
|
});
|
|
883
883
|
|
|
884
|
-
it('should get correct ' +
|
|
884
|
+
it('should get correct ' + TARGETING_KEYS.PRICE_BUCKET + ' with cpm between 21 - 100', function () {
|
|
885
885
|
initTestConfig({
|
|
886
886
|
adUnits: [createAdUnit('div-gpt-ad-1460505748561-0')],
|
|
887
887
|
adUnitCodes: ['div-gpt-ad-1460505748561-0']
|
|
@@ -892,7 +892,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
892
892
|
|
|
893
893
|
auction.callBids(cbTimeout);
|
|
894
894
|
let bidTargeting = targeting.getAllTargeting();
|
|
895
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
895
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('43.00');
|
|
896
896
|
});
|
|
897
897
|
|
|
898
898
|
it('should only apply price granularity if bid media type matches', function () {
|
|
@@ -906,7 +906,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
906
906
|
|
|
907
907
|
auction.callBids(cbTimeout);
|
|
908
908
|
let bidTargeting = targeting.getAllTargeting();
|
|
909
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
909
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('3.25');
|
|
910
910
|
|
|
911
911
|
if (FEATURES.VIDEO) {
|
|
912
912
|
ajaxStub.restore();
|
|
@@ -921,7 +921,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
921
921
|
|
|
922
922
|
auction.callBids(cbTimeout);
|
|
923
923
|
let bidTargeting = targeting.getAllTargeting();
|
|
924
|
-
expect(bidTargeting['div-gpt-ad-1460505748561-0'][
|
|
924
|
+
expect(bidTargeting['div-gpt-ad-1460505748561-0'][TARGETING_KEYS.PRICE_BUCKET]).to.equal('3.00');
|
|
925
925
|
}
|
|
926
926
|
});
|
|
927
927
|
});
|
|
@@ -1067,7 +1067,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
1067
1067
|
$$PREBID_GLOBAL$$.setConfig({ enableSendAllBids: true });
|
|
1068
1068
|
|
|
1069
1069
|
$$PREBID_GLOBAL$$.setTargetingForGPTAsync('/19968336/header-bid-tag-0');
|
|
1070
|
-
expect(slots[0].spySetTargeting.args).to.deep.contain.members([[
|
|
1070
|
+
expect(slots[0].spySetTargeting.args).to.deep.contain.members([[TARGETING_KEYS.BIDDER, 'appnexus'], [TARGETING_KEYS.AD_ID + '_appnexus', '233bcbee889d46d'], [TARGETING_KEYS.PRICE_BUCKET + '_appnexus', '10.00']]);
|
|
1071
1071
|
});
|
|
1072
1072
|
|
|
1073
1073
|
it('should set targeting when passed an array of ad unit codes with enableSendAllBids', function () {
|
|
@@ -1076,7 +1076,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
1076
1076
|
$$PREBID_GLOBAL$$.setConfig({ enableSendAllBids: true });
|
|
1077
1077
|
|
|
1078
1078
|
$$PREBID_GLOBAL$$.setTargetingForGPTAsync(['/19968336/header-bid-tag-0']);
|
|
1079
|
-
expect(slots[0].spySetTargeting.args).to.deep.contain.members([[
|
|
1079
|
+
expect(slots[0].spySetTargeting.args).to.deep.contain.members([[TARGETING_KEYS.BIDDER, 'appnexus'], [TARGETING_KEYS.AD_ID + '_appnexus', '233bcbee889d46d'], [TARGETING_KEYS.PRICE_BUCKET + '_appnexus', '10.00']]);
|
|
1080
1080
|
});
|
|
1081
1081
|
|
|
1082
1082
|
it('should set targeting from googletag data', function () {
|
|
@@ -1123,19 +1123,19 @@ describe('Unit: Prebid Module', function () {
|
|
|
1123
1123
|
|
|
1124
1124
|
var expected = [
|
|
1125
1125
|
[
|
|
1126
|
-
|
|
1126
|
+
TARGETING_KEYS.BIDDER,
|
|
1127
1127
|
'appnexus'
|
|
1128
1128
|
],
|
|
1129
1129
|
[
|
|
1130
|
-
|
|
1130
|
+
TARGETING_KEYS.AD_ID,
|
|
1131
1131
|
'233bcbee889d46d'
|
|
1132
1132
|
],
|
|
1133
1133
|
[
|
|
1134
|
-
|
|
1134
|
+
TARGETING_KEYS.PRICE_BUCKET,
|
|
1135
1135
|
'10.00'
|
|
1136
1136
|
],
|
|
1137
1137
|
[
|
|
1138
|
-
|
|
1138
|
+
TARGETING_KEYS.SIZE,
|
|
1139
1139
|
'300x250'
|
|
1140
1140
|
],
|
|
1141
1141
|
[
|
|
@@ -1360,8 +1360,8 @@ describe('Unit: Prebid Module', function () {
|
|
|
1360
1360
|
var onWonEvent = sinon.stub();
|
|
1361
1361
|
var onStaleEvent = sinon.stub();
|
|
1362
1362
|
|
|
1363
|
-
$$PREBID_GLOBAL$$.onEvent(
|
|
1364
|
-
$$PREBID_GLOBAL$$.onEvent(
|
|
1363
|
+
$$PREBID_GLOBAL$$.onEvent(EVENTS.BID_WON, onWonEvent);
|
|
1364
|
+
$$PREBID_GLOBAL$$.onEvent(EVENTS.STALE_RENDER, onStaleEvent);
|
|
1365
1365
|
|
|
1366
1366
|
pushBidResponseToAuction({
|
|
1367
1367
|
ad: "<script type='text/javascript' src='http://server.example.com/ad/ad.js'></script>"
|
|
@@ -1377,7 +1377,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
1377
1377
|
|
|
1378
1378
|
sinon.assert.calledWith(onWonEvent, adResponse);
|
|
1379
1379
|
sinon.assert.notCalled(onStaleEvent);
|
|
1380
|
-
expect(adResponse).to.have.property('status',
|
|
1380
|
+
expect(adResponse).to.have.property('status', BID_STATUS.RENDERED);
|
|
1381
1381
|
|
|
1382
1382
|
// Reset call history for spies and stubs
|
|
1383
1383
|
spyLogMessage.resetHistory();
|
|
@@ -1398,8 +1398,8 @@ describe('Unit: Prebid Module', function () {
|
|
|
1398
1398
|
sinon.assert.calledWith(onStaleEvent, adResponse);
|
|
1399
1399
|
|
|
1400
1400
|
// Clean up
|
|
1401
|
-
$$PREBID_GLOBAL$$.offEvent(
|
|
1402
|
-
$$PREBID_GLOBAL$$.offEvent(
|
|
1401
|
+
$$PREBID_GLOBAL$$.offEvent(EVENTS.BID_WON, onWonEvent);
|
|
1402
|
+
$$PREBID_GLOBAL$$.offEvent(EVENTS.STALE_RENDER, onStaleEvent);
|
|
1403
1403
|
});
|
|
1404
1404
|
|
|
1405
1405
|
it('should stop stale rendering', function () {
|
|
@@ -1411,8 +1411,8 @@ describe('Unit: Prebid Module', function () {
|
|
|
1411
1411
|
// Setting suppressStaleRender to true explicitly
|
|
1412
1412
|
configObj.setConfig({'auctionOptions': {'suppressStaleRender': true}});
|
|
1413
1413
|
|
|
1414
|
-
$$PREBID_GLOBAL$$.onEvent(
|
|
1415
|
-
$$PREBID_GLOBAL$$.onEvent(
|
|
1414
|
+
$$PREBID_GLOBAL$$.onEvent(EVENTS.BID_WON, onWonEvent);
|
|
1415
|
+
$$PREBID_GLOBAL$$.onEvent(EVENTS.STALE_RENDER, onStaleEvent);
|
|
1416
1416
|
|
|
1417
1417
|
pushBidResponseToAuction({
|
|
1418
1418
|
ad: "<script type='text/javascript' src='http://server.example.com/ad/ad.js'></script>"
|
|
@@ -1425,7 +1425,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
1425
1425
|
|
|
1426
1426
|
sinon.assert.calledOnce(spyAddWinningBid);
|
|
1427
1427
|
sinon.assert.calledWith(spyAddWinningBid, adResponse);
|
|
1428
|
-
expect(adResponse).to.have.property('status',
|
|
1428
|
+
expect(adResponse).to.have.property('status', BID_STATUS.RENDERED);
|
|
1429
1429
|
|
|
1430
1430
|
sinon.assert.calledWith(onWonEvent, adResponse);
|
|
1431
1431
|
sinon.assert.notCalled(onStaleEvent);
|
|
@@ -1448,8 +1448,8 @@ describe('Unit: Prebid Module', function () {
|
|
|
1448
1448
|
sinon.assert.calledWith(onStaleEvent, adResponse);
|
|
1449
1449
|
|
|
1450
1450
|
// Clean up
|
|
1451
|
-
$$PREBID_GLOBAL$$.offEvent(
|
|
1452
|
-
$$PREBID_GLOBAL$$.offEvent(
|
|
1451
|
+
$$PREBID_GLOBAL$$.offEvent(EVENTS.BID_WON, onWonEvent);
|
|
1452
|
+
$$PREBID_GLOBAL$$.offEvent(EVENTS.STALE_RENDER, onStaleEvent);
|
|
1453
1453
|
configObj.setConfig({'auctionOptions': {}});
|
|
1454
1454
|
});
|
|
1455
1455
|
});
|
|
@@ -2766,16 +2766,16 @@ describe('Unit: Prebid Module', function () {
|
|
|
2766
2766
|
let expected = {
|
|
2767
2767
|
'/19968336/header-bid-tag-0': {
|
|
2768
2768
|
'foobar': '0x0,300x250,300x600',
|
|
2769
|
-
[
|
|
2770
|
-
[
|
|
2771
|
-
[
|
|
2772
|
-
[
|
|
2769
|
+
[TARGETING_KEYS.SIZE]: '300x250',
|
|
2770
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
2771
|
+
[TARGETING_KEYS.AD_ID]: '233bcbee889d46d',
|
|
2772
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus'
|
|
2773
2773
|
},
|
|
2774
2774
|
'/19968336/header-bid-tag1': {
|
|
2775
|
-
[
|
|
2776
|
-
[
|
|
2777
|
-
[
|
|
2778
|
-
[
|
|
2775
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus',
|
|
2776
|
+
[TARGETING_KEYS.AD_ID]: '24bd938435ec3fc',
|
|
2777
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
2778
|
+
[TARGETING_KEYS.SIZE]: '728x90',
|
|
2779
2779
|
'foobar': '728x90'
|
|
2780
2780
|
}
|
|
2781
2781
|
}
|
|
@@ -2813,7 +2813,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
2813
2813
|
it('should emit event BID_ACCEPTED when invoked', function () {
|
|
2814
2814
|
var callback = sinon.spy();
|
|
2815
2815
|
$$PREBID_GLOBAL$$.onEvent('bidAccepted', callback);
|
|
2816
|
-
events.emit(
|
|
2816
|
+
events.emit(EVENTS.BID_ACCEPTED);
|
|
2817
2817
|
sinon.assert.calledOnce(callback);
|
|
2818
2818
|
});
|
|
2819
2819
|
|
|
@@ -3059,7 +3059,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
3059
3059
|
describe('emit', function () {
|
|
3060
3060
|
it('should be able to emit event without arguments', function () {
|
|
3061
3061
|
var spyEventsEmit = sinon.spy(events, 'emit');
|
|
3062
|
-
events.emit(
|
|
3062
|
+
events.emit(EVENTS.REQUEST_BIDS);
|
|
3063
3063
|
assert.ok(spyEventsEmit.calledWith('requestBids'));
|
|
3064
3064
|
events.emit.restore();
|
|
3065
3065
|
});
|
|
@@ -3179,7 +3179,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
3179
3179
|
let priceGranularity = configObj.getConfig('priceGranularity');
|
|
3180
3180
|
let newCustomPriceBucket = configObj.getConfig('customPriceBucket');
|
|
3181
3181
|
expect(goodConfig).to.deep.equal(newCustomPriceBucket);
|
|
3182
|
-
expect(priceGranularity).to.equal(
|
|
3182
|
+
expect(priceGranularity).to.equal(GRANULARITY_OPTIONS.CUSTOM);
|
|
3183
3183
|
});
|
|
3184
3184
|
});
|
|
3185
3185
|
|
|
@@ -3319,11 +3319,11 @@ describe('Unit: Prebid Module', function () {
|
|
|
3319
3319
|
'auctionId': 123456,
|
|
3320
3320
|
'adserverTargeting': {
|
|
3321
3321
|
'foobar': '300x250',
|
|
3322
|
-
[
|
|
3323
|
-
[
|
|
3324
|
-
[
|
|
3325
|
-
[
|
|
3326
|
-
[
|
|
3322
|
+
[TARGETING_KEYS.BIDDER]: 'appnexus',
|
|
3323
|
+
[TARGETING_KEYS.AD_ID]: '233bcbee889d46d',
|
|
3324
|
+
[TARGETING_KEYS.PRICE_BUCKET]: '10.00',
|
|
3325
|
+
[TARGETING_KEYS.SIZE]: '300x250',
|
|
3326
|
+
[TARGETING_KEYS.DEAL + '_appnexusDummyName']: '1234'
|
|
3327
3327
|
}
|
|
3328
3328
|
}
|
|
3329
3329
|
];
|
|
@@ -3363,7 +3363,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
3363
3363
|
auction.getBidsReceived = function() { return _bidsReceived };
|
|
3364
3364
|
const highestBid1 = $$PREBID_GLOBAL$$.getHighestUnusedBidResponseForAdUnitCode('/19968336/header-bid-tag-0');
|
|
3365
3365
|
expect(highestBid1).to.deep.equal(_bidsReceived[1])
|
|
3366
|
-
_bidsReceived[1].status =
|
|
3366
|
+
_bidsReceived[1].status = BID_STATUS.RENDERED
|
|
3367
3367
|
const highestBid2 = $$PREBID_GLOBAL$$.getHighestUnusedBidResponseForAdUnitCode('/19968336/header-bid-tag-0');
|
|
3368
3368
|
expect(highestBid2).to.deep.equal(_bidsReceived[2])
|
|
3369
3369
|
})
|
|
@@ -3457,7 +3457,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
3457
3457
|
const markedBid = find($$PREBID_GLOBAL$$.getBidResponsesForAdUnitCode(adUnitCode).bids,
|
|
3458
3458
|
bid => bid.adId === winningBid.adId);
|
|
3459
3459
|
|
|
3460
|
-
expect(markedBid.status).to.equal(
|
|
3460
|
+
expect(markedBid.status).to.equal(BID_STATUS.RENDERED);
|
|
3461
3461
|
});
|
|
3462
3462
|
|
|
3463
3463
|
it('try and mark the bid object, but fail because we supplied the wrong adId', function () {
|
|
@@ -3465,7 +3465,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
3465
3465
|
const markedBid = find($$PREBID_GLOBAL$$.getBidResponsesForAdUnitCode(adUnitCode).bids,
|
|
3466
3466
|
bid => bid.adId === winningBid.adId);
|
|
3467
3467
|
|
|
3468
|
-
expect(markedBid.status).to.not.equal(
|
|
3468
|
+
expect(markedBid.status).to.not.equal(BID_STATUS.RENDERED);
|
|
3469
3469
|
});
|
|
3470
3470
|
|
|
3471
3471
|
it('marks the winning bid object as used for the given adUnitCode', function () {
|
|
@@ -3474,7 +3474,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
3474
3474
|
const markedBid = find($$PREBID_GLOBAL$$.getBidResponsesForAdUnitCode(adUnitCode).bids,
|
|
3475
3475
|
bid => bid.adId === winningBid.adId);
|
|
3476
3476
|
|
|
3477
|
-
expect(markedBid.status).to.equal(
|
|
3477
|
+
expect(markedBid.status).to.equal(BID_STATUS.RENDERED);
|
|
3478
3478
|
});
|
|
3479
3479
|
|
|
3480
3480
|
it('marks a bid object as used for the given adId', function () {
|
|
@@ -3483,7 +3483,7 @@ describe('Unit: Prebid Module', function () {
|
|
|
3483
3483
|
const markedBid = find($$PREBID_GLOBAL$$.getBidResponsesForAdUnitCode(adUnitCode).bids,
|
|
3484
3484
|
bid => bid.adId === winningBid.adId);
|
|
3485
3485
|
|
|
3486
|
-
expect(markedBid.status).to.equal(
|
|
3486
|
+
expect(markedBid.status).to.equal(BID_STATUS.RENDERED);
|
|
3487
3487
|
});
|
|
3488
3488
|
});
|
|
3489
3489
|
}
|
|
@@ -3553,11 +3553,11 @@ describe('Unit: Prebid Module', function () {
|
|
|
3553
3553
|
expect(window.apntag.tags[adUnitCode].keywords).to.deep.equal({});
|
|
3554
3554
|
});
|
|
3555
3555
|
|
|
3556
|
-
it('should not find ' +
|
|
3556
|
+
it('should not find ' + TARGETING_KEYS.AD_ID + ' key in lowercase for all bidders', function () {
|
|
3557
3557
|
const adUnitCode = '/19968336/header-bid-tag-0';
|
|
3558
3558
|
$$PREBID_GLOBAL$$.setConfig({ enableSendAllBids: true });
|
|
3559
3559
|
targeting.setTargetingForAst();
|
|
3560
|
-
const keywords = Object.keys(window.apntag.tags[adUnitCode].keywords).filter(keyword => (keyword.substring(0,
|
|
3560
|
+
const keywords = Object.keys(window.apntag.tags[adUnitCode].keywords).filter(keyword => (keyword.substring(0, TARGETING_KEYS.AD_ID.length) === TARGETING_KEYS.AD_ID));
|
|
3561
3561
|
expect(keywords.length).to.equal(0);
|
|
3562
3562
|
});
|
|
3563
3563
|
});
|