UNPKG

@aller/blink

Version:

A library for tracking user behaviour.

165 lines 5.91 kB
"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