Files
notifications-admin/tests/javascripts/errorTracking.test.js

42 lines
917 B
JavaScript
Raw Normal View History

2019-08-12 16:48:23 +01:00
beforeAll(() => {
require('../../app/assets/javascripts/errorTracking.js');
});
afterAll(() => {
require('./support/teardown.js');
});
describe('Error tracking', () => {
beforeEach(() => {
// set up DOM
document.body.innerHTML = `<div data-module="track-error" data-error-type="validation" data-error-label="missing field"></div>`;
});
afterEach(() => {
document.body.innerHTML = '';
delete window.GOVUK.analytics;
2019-08-12 16:48:23 +01:00
});
test("If there is an analytics tracker set up, it should send details of the error to window.GOVUK.analytic", () => {
2019-08-12 16:48:23 +01:00
window.GOVUK.analytics = {
'trackEvent': jest.fn()
};
2019-08-12 16:48:23 +01:00
// start the module
window.GOVUK.modules.start();
expect(window.GOVUK.analytics.trackEvent).toHaveBeenCalled();
expect(window.GOVUK.analytics.trackEvent.mock.calls[0]).toEqual(['Error', 'validation', {
'label': 'missing field'
}]);
2019-08-12 16:48:23 +01:00
});
});