Skip to content

Commit fe71be8

Browse files
dgirardikiho-shige
authored andcommitted
Core: fix bug where adRenderSucceeded event payloads are sometimes missing adId (prebid#12530)
1 parent 06b16f7 commit fe71be8

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

src/adRendering.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,15 +255,15 @@ export function renderAdDirect(doc, adId, options) {
255255
if (adData.ad) {
256256
doc.write(adData.ad);
257257
doc.close();
258-
emitAdRenderSucceeded({doc, bid, adId: bid.adId});
258+
emitAdRenderSucceeded({doc, bid, id: bid.adId});
259259
} else {
260260
getCreativeRenderer(bid)
261261
.then(render => render(adData, {
262262
sendMessage: (type, data) => messageHandler(type, data, bid),
263263
mkFrame: createIframe,
264264
}, doc.defaultView))
265265
.then(
266-
() => emitAdRenderSucceeded({doc, bid, adId: bid.adId}),
266+
() => emitAdRenderSucceeded({doc, bid, id: bid.adId}),
267267
(e) => {
268268
fail(e?.reason || AD_RENDER_FAILED_REASON.EXCEPTION, e?.message)
269269
e?.stack && logError(e);

test/spec/unit/pbjs_api_spec.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import {generateUUID} from '../../../src/utils.js';
2828
import {getCreativeRenderer} from '../../../src/creativeRenderers.js';
2929
import {BID_STATUS, EVENTS, GRANULARITY_OPTIONS, PB_LOCATOR, TARGETING_KEYS} from 'src/constants.js';
3030
import {getBidToRender} from '../../../src/adRendering.js';
31-
import { setBattrForAdUnit } from '../../../src/prebid.js';
31+
import {setBattrForAdUnit} from '../../../src/prebid.js';
3232

3333
var assert = require('chai').assert;
3434
var expect = require('chai').expect;
@@ -1319,6 +1319,16 @@ describe('Unit: Prebid Module', function () {
13191319
});
13201320
});
13211321

1322+
it('should emit AD_RENDER_SUCCEEDED', () => {
1323+
sandbox.stub(events, 'emit');
1324+
pushBidResponseToAuction({
1325+
ad: "<script type='text/javascript' src='http://server.example.com/ad/ad.js'></script>"
1326+
});
1327+
return renderAd(document, bidId).then(() => {
1328+
sinon.assert.calledWith(events.emit, EVENTS.AD_RENDER_SUCCEEDED, sinon.match({adId: bidId}));
1329+
});
1330+
});
1331+
13221332
it('should not render videos', function () {
13231333
pushBidResponseToAuction({
13241334
mediatype: 'video'

0 commit comments

Comments
 (0)