UNPKG

@aller/blink

Version:

A library for tracking user behaviour.

203 lines 7.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var video_1 = __importDefault(require("../video")); var actions_1 = require("../../actions"); describe('Video reducer', function () { it('should have correct default state', function () { var action = { type: 'INVALID_ACTION', }; expect(video_1.default(undefined, action)).toEqual({ events: [], }); }); describe('PAGE_INIT', function () { it('should flush state', function () { var existingEvents = [ { time: new Date(5), type: 'start', videoId: 'test-video-id', muted: false, reason: 'autostart', position: 10, volume: 99, playerId: 'test-player-id', }, ]; var action = { type: actions_1.PAGE_INIT, payload: { url: 'https://dagbladet.no/' }, }; expect(video_1.default({ events: existingEvents }, action)).toEqual({ events: [], }); }); }); describe('VIDEO_PLAY', function () { it('should add a video start event to empty state', function () { var action = { type: actions_1.VIDEO_PLAY, payload: { time: new Date(5), videoId: 'test-video-id', muted: false, reason: 'autostart', position: 10, volume: 99, playerId: 'test-player-id', }, }; var expectedEvents = [ { time: new Date(5), type: 'start', videoId: 'test-video-id', muted: false, reason: 'autostart', position: 10, volume: 99, playerId: 'test-player-id', }, ]; expect(video_1.default({ events: [] }, action)).toEqual({ events: expectedEvents, }); }); it('should add a video start event to existing state', function () { var action = { type: actions_1.VIDEO_PLAY, payload: { time: new Date(5), videoId: 'test-video-id', reason: 'interaction', muted: false, volume: 90, position: 50, playerId: 'test-player-id', }, }; var events = [ { time: new Date(3), type: 'stop', videoId: 'test-video-id', reason: 'complete', muted: true, volume: 50, position: 20, playerId: 'test-player-id', }, ]; expect(video_1.default({ events: events }, action)).toEqual({ events: [ { time: new Date(3), type: 'stop', videoId: 'test-video-id', reason: 'complete', muted: true, volume: 50, position: 20, playerId: 'test-player-id', }, { time: new Date(5), type: 'start', videoId: 'test-video-id', reason: 'interaction', muted: false, volume: 90, position: 50, playerId: 'test-player-id', }, ], }); }); }); describe('VIDEO_STOP', function () { it('should add a video start event to empty state', function () { var action = { type: actions_1.VIDEO_STOP, payload: { time: new Date(5), videoId: 'test-video-id', muted: false, reason: 'pause', position: 10, volume: 99, playerId: 'test-player-id', }, }; var expectedEvents = [ { time: new Date(5), type: 'stop', videoId: 'test-video-id', muted: false, reason: 'pause', position: 10, volume: 99, playerId: 'test-player-id', }, ]; expect(video_1.default({ events: [] }, action)).toEqual({ events: expectedEvents, }); }); it('should add a video start event to existing state', function () { var action = { type: actions_1.VIDEO_STOP, payload: { time: new Date(5), videoId: 'test-video-id', reason: 'complete', muted: false, volume: 90, position: 50, playerId: 'test-player-id', }, }; var events = [ { time: new Date(3), type: 'start', videoId: 'test-video-id', reason: 'autostart', muted: true, volume: 50, position: 20, playerId: 'test-player-id', }, ]; expect(video_1.default({ events: events }, action)).toEqual({ events: [ { time: new Date(3), type: 'start', videoId: 'test-video-id', reason: 'autostart', muted: true, volume: 50, position: 20, playerId: 'test-player-id', }, { time: new Date(5), type: 'stop', videoId: 'test-video-id', reason: 'complete', muted: false, volume: 90, position: 50, playerId: 'test-player-id', }, ], }); }); }); }); //# sourceMappingURL=video.test.js.map