@aller/blink
Version:
A library for tracking user behaviour.
134 lines • 4.71 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var main_1 = __importDefault(require("../main"));
var config_1 = require("../config/config");
var jest_mock_1 = __importDefault(require("jest-mock"));
describe('Send all intregration test', function () {
it('should send all ad, activeTime, impression and video events', function () {
var mockSend = jest_mock_1.default.fn();
var mockSendDirect = jest_mock_1.default.fn();
var blink = main_1.default({
send: mockSend,
sendDirect: mockSendDirect,
});
// First send of a pageLoad event, to set the general state
blink.pageInit({
url: 'http://some.site',
pageView: 'the-pageview-id',
referrer: 'www.sol.no',
site: 'www.kk.no',
});
blink.click({ url: 'https://www.dagbladet.no/a/2313' });
blink.adScreenEnter({ id: 'top-banner', time: new Date(1) });
blink.pageActivityStart({
url: 'https://www.dagbladet.no/a/2313',
pageScrollOffsetY: 840,
time: new Date(2),
});
blink.playerShown({
playerId: '111',
muted: true,
position: 0,
reason: 'viewable',
time: new Date(2),
volume: 30,
});
blink.videoPlay({
videoId: 'video-123',
playerId: '111',
muted: true,
position: 0,
reason: 'autostart',
time: new Date(4),
volume: 30,
});
blink.playerHidden({
playerId: '111',
muted: true,
position: 20,
reason: 'tabclose',
time: new Date(5),
volume: 30,
});
// Trigger the sending
blink.sendAllEvents(new Date(5));
// We check the last thing sent, that should contain all events
var lastCall = mockSendDirect.mock.calls[mockSendDirect.mock.calls.length - 1][0];
expect(lastCall.length).toBe(3);
expect(lastCall.filter(function (ev) { return ev.id === 'top-banner'; })[0]).toEqual({
id: 'top-banner',
adId: 'top-banner',
pageView: 'the-pageview-id',
site: 'www.kk.no',
type: 'ads',
version: config_1.VERSION,
dfp: {
adUnitPath: 'N/A',
advertiserId: 0,
campaignId: 0,
creativeId: 0,
inscreen: 0,
lineItemId: 0,
name: 'N/A',
size: [0],
loaded: 0,
rendered: 0,
sourceAgnosticCreativeId: 0,
sourceAgnosticLineItemId: 0,
bidder: null,
prebidWinningBid: '',
},
inscreenTime: 4,
inscreenTime0: 0,
referrer: 'www.sol.no',
scroll: {
offsetHeight: 0,
offsetTop: 0,
pos: {
adLoad: 0,
inscreenDFP: 0,
slotOnload: 0,
slotRenderEnded: 0,
},
},
});
expect(lastCall.filter(function (ev) { return ev.id === 'dagbladet.no/2313'; })[0]).toEqual({
activeTime: 3,
id: 'dagbladet.no/2313',
type: 'activeTime',
pageView: 'the-pageview-id',
referrer: 'www.sol.no',
site: 'www.kk.no',
version: config_1.VERSION,
article: {
harvesterId: 'dagbladet.no/2313',
url: 'https://www.dagbladet.no/a/2313',
},
pageScrollMaxOffsetY: 840,
pageScrollLatestOffsetY: 840,
});
expect(lastCall.filter(function (ev) { return ev.id === 'video-123'; })[0]).toEqual({
id: 'video-123',
videoId: 'video-123',
type: 'videoWatch',
activeTime: 1,
pageView: 'the-pageview-id',
referrer: 'www.sol.no',
site: 'www.kk.no',
version: config_1.VERSION,
videoPlayMuted: true,
videoPlayPosition: 0,
videoPlayReason: 'autostart',
videoPlayVolume: 30,
videoStopMuted: true,
videoStopPosition: 20,
videoStopReason: 'tabclose',
videoStopVolume: 30,
videoSticky: false,
});
});
});
//# sourceMappingURL=send-all.test.js.map