@aller/blink
Version:
A library for tracking user behaviour.
165 lines • 5.91 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 get_mock_utils_1 = __importDefault(require("../mock/get-mock-utils"));
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,
persistState: function () { return null; },
utils: get_mock_utils_1.default,
});
// 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',
userId: 'xavier_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',
maxScroll: 0.84,
time: new Date(2),
});
blink.articlePreviewScreenEnter({
url: 'https://www.dinside.no/motor/kul-bil/49234',
time: new Date(3),
title: 'Kul bil',
});
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(5);
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',
userId: 'xavier_no',
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,
},
inscreenTime: 4,
inscreenTime0: 0,
referrer: 'www.sol.no',
scroll: {
scrollHeight: 2500,
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',
userId: 'xavier_no',
version: config_1.VERSION,
article: {
harvesterId: 'dagbladet.no/2313',
url: 'https://www.dagbladet.no/a/2313',
},
previousArticlePreview: undefined,
maxScroll: 0,
});
expect(lastCall.filter(function (ev) { return ev.id === 'dinside.no/49234'; })[0]).toEqual({
inscreenTime: 2,
id: 'dinside.no/49234',
type: 'impression',
pageView: 'the-pageview-id',
referrer: 'www.sol.no',
site: 'www.kk.no',
userId: 'xavier_no',
version: config_1.VERSION,
article: {
harvesterId: 'dinside.no/49234',
url: 'https://www.dinside.no/motor/kul-bil/49234',
},
height: 0,
width: 0,
personalizationParametersRequested: undefined,
personalizationSystemUsed: undefined,
position: undefined,
title: 'Kul bil',
});
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',
userId: 'xavier_no',
version: config_1.VERSION,
videoPlayMuted: true,
videoPlayPosition: 0,
videoPlayReason: 'autostart',
videoPlayVolume: 30,
videoStopMuted: true,
videoStopPosition: 20,
videoStopReason: 'tabclose',
videoStopVolume: 30,
});
});
});
//# sourceMappingURL=send-all.test.js.map