@aller/blink
Version:
A library for tracking user behaviour.
84 lines (73 loc) • 2 kB
text/typescript
import createBlink from '../main';
import { VERSION } from '../config/config';
import jest from 'jest-mock';
describe('Video play integration tests', () => {
it('should not send a single video start event', () => {
const mockSend = jest.fn();
const blink = createBlink({
send: mockSend,
sendDirect: mockSend,
});
// First send of a pageInit 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.videoPlay({
videoId: '123',
playerId: 'test-player-id',
time: new Date(2),
position: 0,
volume: 100,
reason: 'autostart',
muted: false,
});
expect(mockSend.mock.calls.length).toBe(1);
});
it('should not send a single video start event', () => {
const mockSend = jest.fn();
const blink = createBlink({
send: mockSend,
sendDirect: mockSend,
});
// First send of a pageInit 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.videoPlay({
videoId: '123',
playerId: 'test-player-id',
time: new Date(2),
position: 0,
volume: 100,
reason: 'autostart',
muted: false,
});
expect(JSON.stringify(mockSend.mock.calls)).toEqual(
JSON.stringify([
[
[
{
pageView: 'the-pageview-id',
referrer: 'www.sol.no',
site: 'www.kk.no',
version: VERSION,
type: 'videoPlay',
id: '123',
videoId: '123',
videoPlayPosition: 0,
videoPlayMuted: false,
videoPlayReason: 'autostart',
time: new Date('1970-01-01T00:00:00.002Z'),
},
],
],
]),
);
});
});