/* global describe it expect beforeEach afterEach spyOn */
var $ = window.jQuery
describe('An auto event tracker', function () {
'use strict' var GOVUK = window.GOVUK var tracker, element beforeEach(function () { GOVUK.analytics = {trackEvent: function () {}} tracker = new GOVUK.Modules.AutoTrackEvent() }) afterEach(function () { delete GOVUK.analytics }) it('tracks non-interactive events on start', function () { spyOn(GOVUK.analytics, 'trackEvent') element = $( '<div ' + 'data-track-category="category"' + 'data-track-action="action">' + 'Some content' + '</div>' ) tracker.start(element) expect(GOVUK.analytics.trackEvent).toHaveBeenCalledWith( 'category', 'action', {nonInteraction: 1}) }) it('can track non-interactive events with optional label and value', function () { spyOn(GOVUK.analytics, 'trackEvent') element = $( '<div ' + 'data-track-category="category"' + 'data-track-action="action"' + 'data-track-label="label"' + 'data-track-value="10">' + 'Some content' + '</div>' ) tracker.start(element) expect(GOVUK.analytics.trackEvent).toHaveBeenCalledWith( 'category', 'action', {label: 'label', value: 10, nonInteraction: 1}) })
})