UNPKG

@aller/blink

Version:

A library for tracking user behaviour.

134 lines 4.71 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 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