diff --git a/modules/taboolaBidAdapter.js b/modules/taboolaBidAdapter.js index 487b9e8a0..ac4fed11f 100644 --- a/modules/taboolaBidAdapter.js +++ b/modules/taboolaBidAdapter.js @@ -84,8 +84,7 @@ export const spec = { buildRequests: (validBidRequests, bidderRequest) => { const [bidRequest] = validBidRequests; const {refererInfo, gdprConsent = {}, uspConsent} = bidderRequest; - const {publisherId} = bidRequest.params; - let {url = END_POINT_URL} = bidRequest.params; + const {publisherId, endpointUrl} = bidRequest.params; const site = getSiteProperties(bidRequest.params, refererInfo); const device = {ua: navigator.userAgent}; const imps = getImps(validBidRequests); @@ -129,7 +128,7 @@ export const spec = { regs }; - url = [url, publisherId].join('/'); + const url = [endpointUrl || END_POINT_URL, publisherId].join('/'); return { url, diff --git a/modules/taboolaBidAdapter.md b/modules/taboolaBidAdapter.md index 17aa76d0e..d63616d23 100644 --- a/modules/taboolaBidAdapter.md +++ b/modules/taboolaBidAdapter.md @@ -31,7 +31,7 @@ The Taboola Bidding adapter requires setup before beginning. Please contact us o bidfloor: 0.25, // Optional - default is null bcat: ['IAB1-1'], // Optional - default is [] badv: ['example.com'], // Optional - default is [] - url: ['https://example.com'] // Optional - default is null + endpointUrl: ['https://example.com'] // Optional } }] }]; @@ -46,6 +46,6 @@ The Taboola Bidding adapter requires setup before beginning. Please contact us o | `bcat` | optional | List of blocked advertiser categories (IAB) | `['IAB1-1']` | `Array` | | `badv` | optional | Blocked Advertiser Domains | `'example.com'` | `String Url` | | `bidfloor` | optional | CPM bid floor | `0.25` | `Float` | -| `url` | optional | Endpoint Url (only if provided by Taboola) | `https://example.com` | `String` | +| `endpointUrl` | optional | Endpoint Url (only if provided by Taboola) | `https://example.com` | `String` | diff --git a/test/spec/modules/taboolaBidAdapter_spec.js b/test/spec/modules/taboolaBidAdapter_spec.js index 8d29fdc79..5899b03a2 100644 --- a/test/spec/modules/taboolaBidAdapter_spec.js +++ b/test/spec/modules/taboolaBidAdapter_spec.js @@ -96,7 +96,20 @@ describe('Taboola Adapter', function () { params: { publisherId: 'publisherId', tagId: 'below the article', - url: null + endpointUrl: null + }, + ...displayBidRequestParams + } + expect(spec.isBidRequestValid(bid)).to.equal(true) + }) + + it('should succeed when url is empty string', function () { + const bid = { + bidder: 'taboola', + params: { + publisherId: 'publisherId', + tagId: 'below the article', + endpointUrl: '' }, ...displayBidRequestParams } @@ -109,7 +122,7 @@ describe('Taboola Adapter', function () { params: { publisherId: 'publisherId', tagId: 'below the article', - url: 'https://example.com' + endpointUrl: 'https://example.com' }, ...displayBidRequestParams } @@ -182,18 +195,36 @@ describe('Taboola Adapter', function () { params: { publisherId: 'publisherId', tagId: 'placement name', - url: 'https://example.com' + endpointUrl: 'https://example.com' }, bidId: 'aa43860a-4644-442a-b5e0-93f268cs4d19', auctionId: '65746dca-26f3-4186-be13-dfa63469b1b7', } - const defaultBidRequestWithUrl = { + let defaultBidRequestWithUrl = { ...commonBidRequestWithUrl, ...displayBidRequestParams, } const res = spec.buildRequests([defaultBidRequestWithUrl], commonBidderRequest); + expect(res.url).to.equal(`${commonBidRequestWithUrl.params.endpointUrl}/${commonBidRequest.params.publisherId}`); + }) - expect(res.url).to.equal(`${commonBidRequestWithUrl.params.url}/${commonBidRequest.params.publisherId}`); + it('should fill default url when url param is empty string', function () { + const commonBidRequestWithUrl = { + bidder: 'taboola', + params: { + publisherId: 'publisherId', + tagId: 'placement name', + endpointUrl: '' + }, + bidId: 'aa43860a-4644-442a-b5e0-93f268cs4d19', + auctionId: '65746dca-26f3-4186-be13-dfa63469b1b7', + } + let defaultBidRequestWithUrl = { + ...commonBidRequestWithUrl, + ...displayBidRequestParams, + } + const res = spec.buildRequests([defaultBidRequestWithUrl], commonBidderRequest); + expect(res.url).to.equal(`${END_POINT_URL}/${commonBidRequestWithUrl.params.publisherId}`); }) it('should pass optional parameters in request', function () {