prebid.js 8.44.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/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/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/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/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 +237 -235
- 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/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/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 +8 -8
- package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
- package/modules/adkernelBidAdapter.js +9 -3
- package/modules/adlooxAdServerVideo.js +2 -2
- package/modules/adlooxAnalyticsAdapter.js +4 -4
- package/modules/adnuntiusBidAdapter.js +49 -31
- 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 +2 -6
- package/modules/appierAnalyticsAdapter.js +5 -7
- 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 +51 -8
- 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/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/growthCodeAnalyticsAdapter.js +14 -14
- 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/kargoAnalyticsAdapter.js +3 -3
- package/modules/kargoBidAdapter.js +5 -11
- package/modules/konduitAnalyticsAdapter.js +13 -13
- package/modules/liveIntentAnalyticsAdapter.js +2 -2
- package/modules/livewrappedAnalyticsAdapter.js +10 -10
- 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/smaatoBidAdapter.js +1 -2
- package/modules/sonobiAnalyticsAdapter.js +10 -12
- package/modules/sovrnAnalyticsAdapter.js +7 -9
- package/modules/sovrnBidAdapter.js +1 -1
- package/modules/staqAnalyticsAdapter.js +9 -9
- 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 +26 -26
- package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
- package/test/spec/modules/adkernelBidAdapter_spec.js +9 -4
- package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +8 -5
- 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 +14 -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 +111 -5
- package/test/spec/modules/currency_spec.js +6 -6
- package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
- 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/growthCodeAnalyticsAdapter_spec.js +2 -2
- 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/kargoAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
- package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
- 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/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/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
|
@@ -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
|
});
|
|
@@ -13,7 +13,7 @@ import 'modules/nativeRendering.js';
|
|
|
13
13
|
|
|
14
14
|
import {expect} from 'chai';
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
import { AD_RENDER_FAILED_REASON, BID_STATUS, EVENTS } from 'src/constants.js';
|
|
17
17
|
|
|
18
18
|
describe('secureCreatives', () => {
|
|
19
19
|
let sandbox;
|
|
@@ -160,10 +160,10 @@ describe('secureCreatives', () => {
|
|
|
160
160
|
sinon.assert.calledWith(spyAddWinningBid, adResponse);
|
|
161
161
|
sinon.assert.calledOnce(adResponse.renderer.render);
|
|
162
162
|
sinon.assert.calledWith(adResponse.renderer.render, adResponse);
|
|
163
|
-
sinon.assert.calledWith(stubEmit,
|
|
164
|
-
sinon.assert.neverCalledWith(stubEmit,
|
|
163
|
+
sinon.assert.calledWith(stubEmit, EVENTS.BID_WON, adResponse);
|
|
164
|
+
sinon.assert.neverCalledWith(stubEmit, EVENTS.STALE_RENDER);
|
|
165
165
|
|
|
166
|
-
expect(adResponse).to.have.property('status',
|
|
166
|
+
expect(adResponse).to.have.property('status', BID_STATUS.RENDERED);
|
|
167
167
|
});
|
|
168
168
|
|
|
169
169
|
it('should allow stale rendering without config', function () {
|
|
@@ -187,10 +187,10 @@ describe('secureCreatives', () => {
|
|
|
187
187
|
sinon.assert.calledWith(spyAddWinningBid, adResponse);
|
|
188
188
|
sinon.assert.calledOnce(adResponse.renderer.render);
|
|
189
189
|
sinon.assert.calledWith(adResponse.renderer.render, adResponse);
|
|
190
|
-
sinon.assert.calledWith(stubEmit,
|
|
191
|
-
sinon.assert.neverCalledWith(stubEmit,
|
|
190
|
+
sinon.assert.calledWith(stubEmit, EVENTS.BID_WON, adResponse);
|
|
191
|
+
sinon.assert.neverCalledWith(stubEmit, EVENTS.STALE_RENDER);
|
|
192
192
|
|
|
193
|
-
expect(adResponse).to.have.property('status',
|
|
193
|
+
expect(adResponse).to.have.property('status', BID_STATUS.RENDERED);
|
|
194
194
|
|
|
195
195
|
resetHistories(adResponse.renderer.render);
|
|
196
196
|
|
|
@@ -201,8 +201,8 @@ describe('secureCreatives', () => {
|
|
|
201
201
|
sinon.assert.calledWith(spyAddWinningBid, adResponse);
|
|
202
202
|
sinon.assert.calledOnce(adResponse.renderer.render);
|
|
203
203
|
sinon.assert.calledWith(adResponse.renderer.render, adResponse);
|
|
204
|
-
sinon.assert.calledWith(stubEmit,
|
|
205
|
-
sinon.assert.calledWith(stubEmit,
|
|
204
|
+
sinon.assert.calledWith(stubEmit, EVENTS.BID_WON, adResponse);
|
|
205
|
+
sinon.assert.calledWith(stubEmit, EVENTS.STALE_RENDER, adResponse);
|
|
206
206
|
});
|
|
207
207
|
|
|
208
208
|
it('should stop stale rendering with config', function () {
|
|
@@ -228,10 +228,10 @@ describe('secureCreatives', () => {
|
|
|
228
228
|
sinon.assert.calledWith(spyAddWinningBid, adResponse);
|
|
229
229
|
sinon.assert.calledOnce(adResponse.renderer.render);
|
|
230
230
|
sinon.assert.calledWith(adResponse.renderer.render, adResponse);
|
|
231
|
-
sinon.assert.calledWith(stubEmit,
|
|
232
|
-
sinon.assert.neverCalledWith(stubEmit,
|
|
231
|
+
sinon.assert.calledWith(stubEmit, EVENTS.BID_WON, adResponse);
|
|
232
|
+
sinon.assert.neverCalledWith(stubEmit, EVENTS.STALE_RENDER);
|
|
233
233
|
|
|
234
|
-
expect(adResponse).to.have.property('status',
|
|
234
|
+
expect(adResponse).to.have.property('status', BID_STATUS.RENDERED);
|
|
235
235
|
|
|
236
236
|
resetHistories(adResponse.renderer.render);
|
|
237
237
|
|
|
@@ -240,8 +240,8 @@ describe('secureCreatives', () => {
|
|
|
240
240
|
sinon.assert.calledWith(spyLogWarn, warning);
|
|
241
241
|
sinon.assert.notCalled(spyAddWinningBid);
|
|
242
242
|
sinon.assert.notCalled(adResponse.renderer.render);
|
|
243
|
-
sinon.assert.neverCalledWith(stubEmit,
|
|
244
|
-
sinon.assert.calledWith(stubEmit,
|
|
243
|
+
sinon.assert.neverCalledWith(stubEmit, EVENTS.BID_WON, adResponse);
|
|
244
|
+
sinon.assert.calledWith(stubEmit, EVENTS.STALE_RENDER, adResponse);
|
|
245
245
|
|
|
246
246
|
configObj.setConfig({'auctionOptions': {}});
|
|
247
247
|
});
|
|
@@ -254,8 +254,8 @@ describe('secureCreatives', () => {
|
|
|
254
254
|
})
|
|
255
255
|
});
|
|
256
256
|
receiveMessage(ev);
|
|
257
|
-
sinon.assert.calledWith(stubEmit,
|
|
258
|
-
reason:
|
|
257
|
+
sinon.assert.calledWith(stubEmit, EVENTS.AD_RENDER_FAILED, sinon.match({
|
|
258
|
+
reason: AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,
|
|
259
259
|
adId: 'missing'
|
|
260
260
|
}));
|
|
261
261
|
});
|
|
@@ -272,8 +272,8 @@ describe('secureCreatives', () => {
|
|
|
272
272
|
})
|
|
273
273
|
});
|
|
274
274
|
receiveMessage(ev)
|
|
275
|
-
sinon.assert.calledWith(stubEmit,
|
|
276
|
-
reason:
|
|
275
|
+
sinon.assert.calledWith(stubEmit, EVENTS.AD_RENDER_FAILED, sinon.match({
|
|
276
|
+
reason: AD_RENDER_FAILED_REASON.EXCEPTION,
|
|
277
277
|
adId: bidId
|
|
278
278
|
}));
|
|
279
279
|
});
|
|
@@ -368,9 +368,9 @@ describe('secureCreatives', () => {
|
|
|
368
368
|
sinon.assert.calledWith(stubGetAllAssetsMessage, data, adResponse);
|
|
369
369
|
sinon.assert.calledOnce(ev.source.postMessage);
|
|
370
370
|
sinon.assert.notCalled(stubFireNativeTrackers);
|
|
371
|
-
sinon.assert.calledWith(stubEmit,
|
|
371
|
+
sinon.assert.calledWith(stubEmit, EVENTS.BID_WON, adResponse);
|
|
372
372
|
sinon.assert.calledOnce(spyAddWinningBid);
|
|
373
|
-
sinon.assert.neverCalledWith(stubEmit,
|
|
373
|
+
sinon.assert.neverCalledWith(stubEmit, EVENTS.STALE_RENDER);
|
|
374
374
|
});
|
|
375
375
|
|
|
376
376
|
it('Prebid native should not fire BID_WON when receiveMessage is called more than once', () => {
|
|
@@ -392,17 +392,17 @@ describe('secureCreatives', () => {
|
|
|
392
392
|
});
|
|
393
393
|
|
|
394
394
|
receiveMessage(ev);
|
|
395
|
-
sinon.assert.calledWith(stubEmit,
|
|
395
|
+
sinon.assert.calledWith(stubEmit, EVENTS.BID_WON, adResponse);
|
|
396
396
|
|
|
397
397
|
receiveMessage(ev);
|
|
398
|
-
stubEmit.withArgs(
|
|
398
|
+
stubEmit.withArgs(EVENTS.BID_WON, adResponse).calledOnce;
|
|
399
399
|
});
|
|
400
400
|
});
|
|
401
401
|
|
|
402
402
|
describe('Prebid Event', () => {
|
|
403
403
|
Object.entries({
|
|
404
404
|
'unrendered': [false, (bid) => { delete bid.status; }],
|
|
405
|
-
'rendered': [true, (bid) => { bid.status =
|
|
405
|
+
'rendered': [true, (bid) => { bid.status = BID_STATUS.RENDERED }]
|
|
406
406
|
}).forEach(([test, [shouldEmit, prepBid]]) => {
|
|
407
407
|
describe(`for ${test} bids`, () => {
|
|
408
408
|
beforeEach(() => {
|
|
@@ -414,7 +414,7 @@ describe('secureCreatives', () => {
|
|
|
414
414
|
const event = makeEvent({
|
|
415
415
|
data: JSON.stringify({
|
|
416
416
|
message: 'Prebid Event',
|
|
417
|
-
event:
|
|
417
|
+
event: EVENTS.AD_RENDER_FAILED,
|
|
418
418
|
adId: bidId,
|
|
419
419
|
info: {
|
|
420
420
|
reason: 'Fail reason',
|
|
@@ -423,7 +423,7 @@ describe('secureCreatives', () => {
|
|
|
423
423
|
})
|
|
424
424
|
});
|
|
425
425
|
receiveMessage(event);
|
|
426
|
-
expect(stubEmit.calledWith(
|
|
426
|
+
expect(stubEmit.calledWith(EVENTS.AD_RENDER_FAILED, {
|
|
427
427
|
adId: bidId,
|
|
428
428
|
bid: adResponse,
|
|
429
429
|
reason: 'Fail reason',
|
|
@@ -435,12 +435,12 @@ describe('secureCreatives', () => {
|
|
|
435
435
|
const event = makeEvent({
|
|
436
436
|
data: JSON.stringify({
|
|
437
437
|
message: 'Prebid Event',
|
|
438
|
-
event:
|
|
438
|
+
event: EVENTS.AD_RENDER_SUCCEEDED,
|
|
439
439
|
adId: bidId,
|
|
440
440
|
})
|
|
441
441
|
});
|
|
442
442
|
receiveMessage(event);
|
|
443
|
-
expect(stubEmit.calledWith(
|
|
443
|
+
expect(stubEmit.calledWith(EVENTS.AD_RENDER_SUCCEEDED, {
|
|
444
444
|
adId: bidId,
|
|
445
445
|
bid: adResponse,
|
|
446
446
|
doc: null
|
package/test/spec/utils_spec.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {getAdServerTargeting} from 'test/fixtures/fixtures.js';
|
|
2
2
|
import {expect} from 'chai';
|
|
3
|
-
import
|
|
3
|
+
import { TARGETING_KEYS } from 'src/constants.js';
|
|
4
4
|
import * as utils from 'src/utils.js';
|
|
5
5
|
import {getHighestCpm, getLatestHighestCpmBid, getOldestHighestCpmBid} from '../../src/utils/reducers.js';
|
|
6
6
|
import {binarySearch, deepEqual, memoize, waitForElementToLoad} from 'src/utils.js';
|
|
@@ -65,7 +65,7 @@ describe('Utils', function () {
|
|
|
65
65
|
var obj = getAdServerTargeting();
|
|
66
66
|
|
|
67
67
|
var output = utils.transformAdServerTargetingObj(obj[Object.keys(obj)[0]]);
|
|
68
|
-
var expected = 'foobar=0x0%2C300x250%2C300x600&' +
|
|
68
|
+
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';
|
|
69
69
|
assert.equal(output, expected);
|
|
70
70
|
});
|
|
71
71
|
|