From 9a06e306153f93ec1dd289630d1c1f4608de8d97 Mon Sep 17 00:00:00 2001 From: mkomorski Date: Thu, 19 Sep 2024 20:44:01 +0200 Subject: [PATCH] Core: Adding useBaseGvlid to aliasBidAdapter (#12247) * Adding useBaseGvlid to aliasBidAdapter * refactor --------- Co-authored-by: Marcin Komorski --- src/adapterManager.js | 6 ++++-- test/spec/unit/core/adapterManager_spec.js | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/adapterManager.js b/src/adapterManager.js index a571ba62ddc..63ecfc280be 100644 --- a/src/adapterManager.js +++ b/src/adapterManager.js @@ -553,11 +553,13 @@ adapterManager.aliasBidAdapter = function (bidderCode, alias, options) { newAdapter = new bidAdapter.constructor(); newAdapter.setBidderCode(alias); } else { + const { useBaseGvlid = false } = options || {}; let spec = bidAdapter.getSpec(); - let gvlid = options && options.gvlid; - if (spec.gvlid != null && gvlid == null) { + const gvlid = useBaseGvlid ? spec.gvlid : options?.gvlid; + if (gvlid == null && spec.gvlid != null) { logWarn(`Alias '${alias}' will NOT re-use the GVL ID of the original adapter ('${spec.code}', gvlid: ${spec.gvlid}). Functionality that requires TCF consent may not work as expected.`) } + let skipPbsAliasing = options && options.skipPbsAliasing; newAdapter = newBidder(Object.assign({}, spec, { code: alias, gvlid, skipPbsAliasing })); _aliasRegistry[alias] = bidderCode; diff --git a/test/spec/unit/core/adapterManager_spec.js b/test/spec/unit/core/adapterManager_spec.js index a68634501ac..3974cfde68f 100644 --- a/test/spec/unit/core/adapterManager_spec.js +++ b/test/spec/unit/core/adapterManager_spec.js @@ -1630,6 +1630,15 @@ describe('adapterManager tests', function () { expect(adapterManager.videoAdapters).to.include(alias); } }); + + it('should use gvlid of original adapter when option set', () => { + const gvlid = 'origvlid'; + let thisSpec = Object.assign(spec, { gvlid }); + registerBidder(thisSpec); + const alias = 'bidderWithGvlid'; + adapterManager.aliasBidAdapter(CODE, alias, {useBaseGvlid: true}); + expect(adapterManager.bidderRegistry[alias].getSpec()?.gvlid).to.deep.eql(gvlid); + }) }); describe('special case for s2s-only bidders', function () {