diff --git a/modules/concertBidAdapter.js b/modules/concertBidAdapter.js index bd738a39bba..15040b40465 100644 --- a/modules/concertBidAdapter.js +++ b/modules/concertBidAdapter.js @@ -57,6 +57,7 @@ export const spec = { gdprConsent: bidderRequest.gdprConsent, gppConsent: bidderRequest.gppConsent, tdid: getTdid(bidderRequest, validBidRequests), + schain: getSchain(validBidRequests), } }; @@ -279,3 +280,7 @@ function getTdid(bidderRequest, validBidRequests) { return deepAccess(validBidRequests[0], 'userId.tdid') || null; } + +function getSchain(validBidRequests) { + return deepAccess(validBidRequests[0], 'schain') || null; +} diff --git a/test/spec/modules/concertBidAdapter_spec.js b/test/spec/modules/concertBidAdapter_spec.js index 0a76ed3e62d..61ae3b4b12c 100644 --- a/test/spec/modules/concertBidAdapter_spec.js +++ b/test/spec/modules/concertBidAdapter_spec.js @@ -237,6 +237,31 @@ describe('ConcertAdapter', function () { const payload = JSON.parse(request.data); expect(payload.meta.tdid).to.equal(tdid); }); + + it('should return null if schain object is not present', function () { + const request = spec.buildRequests(bidRequests, bidRequest); + const payload = JSON.parse(request.data); + expect(payload.meta.schain).to.be.null; + }); + + it('should pass along schain object if present', function () { + const schain = { + ver: "1.0", + complete: 1, + nodes: [ + { + asi: "directseller.com", + sid: "00001", + rid: "BidRequest1", + hp: 1, + }, + ], + }; + const bidRequestsWithSchain = [{ ...bidRequests[0], schain }] + const request = spec.buildRequests(bidRequestsWithSchain, bidRequest); + const payload = JSON.parse(request.data); + expect(payload.meta.schain).to.deep.equal(schain); + }); }); describe('spec.interpretResponse', function() {