Skip to content

Commit 48916ae

Browse files
authored
Yahoo Ads Bid Adapter: Fix to only set bid response renderer for video. (#12139)
1 parent 1d094e9 commit 48916ae

File tree

2 files changed

+71
-1
lines changed

2 files changed

+71
-1
lines changed

modules/yahooAdsBidAdapter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,7 @@ export const spec = {
666666
};
667667
}
668668

669-
if (deepAccess(bidderRequest, 'mediaTypes.video.context') === 'outstream' && !bidderRequest.renderer) {
669+
if (deepAccess(bidderRequest, 'mediaTypes.video.context') === 'outstream' && !bidderRequest.renderer && bidResponse.mediaType === VIDEO) {
670670
bidResponse.renderer = createRenderer(bidderRequest, bidResponse) || undefined;
671671
}
672672

test/spec/modules/yahooAdsBidAdapter_spec.js

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { config } from 'src/config.js';
33
import { BANNER, VIDEO } from 'src/mediaTypes.js';
44
import { spec } from 'modules/yahooAdsBidAdapter.js';
55
import {createEidsArray} from '../../../modules/userId/eids';
6+
import {deepAccess} from '../../../src/utils';
67

78
const DEFAULT_BID_ID = '84ab500420319d';
89
const DEFAULT_BID_DCN = '2093845709823475';
@@ -1628,5 +1629,74 @@ describe('Yahoo Advertising Bid Adapter:', () => {
16281629
expect(response[0].bidderCode).to.be.undefined;
16291630
});
16301631
});
1632+
1633+
describe('Renderer:', () => {
1634+
it('should create and set renderer when bidder request context is outstream, bidder request renderer is falsy, and bid response mediaType is VIDEO', () => {
1635+
config.setConfig({
1636+
yahooAds: {
1637+
mode: VIDEO
1638+
}
1639+
});
1640+
const { serverResponse, bidderRequest } = generateResponseMock('video', 'vast');
1641+
bidderRequest.mediaTypes = {
1642+
video: {
1643+
context: 'outstream'
1644+
}
1645+
};
1646+
const response = spec.interpretResponse(serverResponse, {bidderRequest});
1647+
expect(deepAccess(bidderRequest, 'mediaTypes.video.context')).to.equal('outstream');
1648+
expect(bidderRequest.renderer).to.be.undefined;
1649+
expect(response[0].mediaType).to.equal('video');
1650+
expect(response[0].renderer).to.not.be.undefined;
1651+
});
1652+
1653+
it('should not create and set renderer when bidder request renderer is falsy and bid response mediaType is VIDEO, but bidder request context is not outstream,', () => {
1654+
config.setConfig({
1655+
yahooAds: {
1656+
mode: VIDEO
1657+
}
1658+
});
1659+
const { serverResponse, bidderRequest } = generateResponseMock('video', 'vast');
1660+
const response = spec.interpretResponse(serverResponse, {bidderRequest});
1661+
expect(deepAccess(bidderRequest, 'mediaTypes.video.context')).to.not.equal('outstream');
1662+
expect(bidderRequest.renderer).to.be.undefined;
1663+
expect(response[0].mediaType).to.equal('video');
1664+
expect(response[0].renderer).to.be.undefined;
1665+
});
1666+
1667+
it('should not create and set renderer when bidder request context is outstream and bid response mediaType is VIDEO, but bidder request renderer is not falsy', () => {
1668+
config.setConfig({
1669+
yahooAds: {
1670+
mode: VIDEO
1671+
}
1672+
});
1673+
const { serverResponse, bidderRequest } = generateResponseMock('video', 'vast');
1674+
bidderRequest.mediaTypes = {
1675+
video: {
1676+
context: 'outstream'
1677+
}
1678+
};
1679+
bidderRequest.renderer = 'not falsy';
1680+
const response = spec.interpretResponse(serverResponse, {bidderRequest});
1681+
expect(deepAccess(bidderRequest, 'mediaTypes.video.context')).to.equal('outstream');
1682+
expect(bidderRequest.renderer).to.not.be.undefined;
1683+
expect(response[0].mediaType).to.equal('video');
1684+
expect(response[0].renderer).to.be.undefined;
1685+
});
1686+
1687+
it('should not create and set renderer when bidder request context is outstream and bidder request renderer is falsy, but bid response mediaType is not VIDEO', () => {
1688+
const { serverResponse, bidderRequest } = generateResponseMock('banner');
1689+
bidderRequest.mediaTypes = {
1690+
video: {
1691+
context: 'outstream'
1692+
}
1693+
};
1694+
const response = spec.interpretResponse(serverResponse, {bidderRequest});
1695+
expect(deepAccess(bidderRequest, 'mediaTypes.video.context')).to.equal('outstream');
1696+
expect(bidderRequest.renderer).to.be.undefined;
1697+
expect(response[0].mediaType).to.not.equal('video');
1698+
expect(response[0].renderer).to.be.undefined;
1699+
});
1700+
});
16311701
});
16321702
});

0 commit comments

Comments
 (0)