@aller/blink
Version:
A library for tracking user behaviour.
70 lines (66 loc) • 2 kB
text/typescript
import preparePageloadEvent from '../prepare-pageload-event';
import { VERSION } from '../../config/config';
import { BlinkEvent } from '../../types';
import { Page } from '../../selectors/get-page-state';
describe('preparePageloadEvent', () => {
it('should format properly based on state', () => {
const url = 'https://www.dagbladet.no/a/123';
const page: Page = {
id: 'default',
state: {
general: {
abCookie: 14,
commercialSegments: 'sport,soccer,gardening',
pageType: 'fb instant article',
pageView: 'some-pageview-uuid',
previousPageView: 'prev-pageview-uuid',
site: 'www.dagbladet.no',
referrer: 'www.dinside.no',
userId: 'user5',
cmId: 'some-random-cm-id',
plussData: {
hasAccess: true,
customerNumber: '15664915',
},
},
},
};
const utils = {
getClientWidth: () => 800,
getClientHeight: () => 600,
getScrollHeight: () => 3080,
getArticleBodyTop: () => 20,
getArticleBodyHeight: () => 2350,
};
const expected: BlinkEvent = {
id: 'dagbladet.no/123',
type: 'pageLoad',
abCookie: 14,
commercialSegments: 'sport,soccer,gardening',
article: {
harvesterId: 'dagbladet.no/123',
url: 'https://www.dagbladet.no/a/123',
},
articleBodyHeight: 2350,
articleBodyTop: 20,
cmId: 'some-random-cm-id',
pageType: 'fb instant article',
pageView: 'some-pageview-uuid',
previousPageView: 'prev-pageview-uuid',
site: 'www.dagbladet.no',
referrer: 'www.dinside.no',
userId: 'user5',
version: VERSION,
plussData: {
hasAccess: true,
customerNumber: '15664915',
},
clientWidth: 800,
clientHeight: 600,
scroll: {
scrollHeight: 3080,
},
};
expect(preparePageloadEvent({ page, url, utils })).toEqual(expected);
});
});