@aller/blink
Version:
A library for tracking user behaviour.
104 lines (95 loc) • 2.73 kB
text/typescript
import createBlink from '../main';
import { VERSION } from '../config/config';
import jest from 'jest-mock';
describe('Ad DFP test', () => {
it('should not send if only screen enter event', () => {
const mockSend = jest.fn();
const blink = createBlink({
send: mockSend,
sendDirect: mockSend,
});
// First send of a pageInit event, to set the general state
blink.pageInit({
url: 'http://some.site',
pageView: 'the-pageview-id',
referrer: 'www.sol.no',
abCookie: 38,
commercialSegments: 'sport,soccer,gardening',
site: 'www.kk.no',
});
expect(mockSend.mock.calls.length).toBe(0);
blink.adLoad({
id: 'ad-banner',
offsetTop: 200,
offsetHeight: 50,
scrollTop: 100,
});
blink.dfpSlotOnload({
id: 'ad-banner',
name: 'medium-rectangle',
scrollTop: 150,
});
// We expect that dfpSlotOnload did send something
expect(mockSend.mock.calls.length).toBe(1);
blink.dfpImpressionViewable({
id: 'ad-banner',
scrollTop: 250,
});
// We expect that dfpSlotOnload did send something
expect(mockSend.mock.calls.length).toBe(2);
blink.dfpSlotRenderEnded({
adUnitPath: '/8578/dagbladet.no/seksjoner/fourfourtwo/artikkel',
advertiserId: 15450672,
campaignId: 207698592,
creativeId: 555,
id: 'ad-banner',
lineItemId: 444,
sourceAgnosticCreativeId: 138234849528,
sourceAgnosticLineItemId: 104949072,
size: [320, 250],
scrollTop: 190,
bidder: 'rubicon',
prebidWinningBid: '45.70',
});
// We expect that dfpSlotOnload did send something
expect(mockSend.mock.calls.length).toBe(3);
const ad = mockSend.mock.calls[2][0][0];
expect(ad).toEqual({
id: 'ad-banner',
adId: 'ad-banner',
type: 'ads',
version: VERSION,
site: 'www.kk.no',
pageView: 'the-pageview-id',
referrer: 'www.sol.no',
inscreenTime: 0,
inscreenTime0: 0,
dfp: {
inscreen: 1,
loaded: 1,
rendered: 1,
name: 'medium-rectangle',
adUnitPath: '/8578/dagbladet.no/seksjoner/fourfourtwo/artikkel',
advertiserId: 15450672,
creativeId: 555,
campaignId: 207698592,
lineItemId: 444,
sourceAgnosticCreativeId: 138234849528,
sourceAgnosticLineItemId: 104949072,
size: [320, 250],
bidder: 'rubicon',
prebidWinningBid: '45.70',
},
scroll: {
offsetHeight: 50,
offsetTop: 200,
pos: {
adLoad: 100,
inscreenDFP: 250,
slotOnload: 150,
slotRenderEnded: 190,
},
},
});
});
});