diff --git a/lib/ui/analytics/analytics.js b/lib/ui/analytics/analytics.js index c671a231..15172e40 100644 --- a/lib/ui/analytics/analytics.js +++ b/lib/ui/analytics/analytics.js @@ -56,10 +56,10 @@ var parentCtrl = {}; var parentOptions = {}; - if (controllers.length > 1 && controllers[1] !== undefined) { + if (controllers[1] !== null && typeof controllers[1] !== 'undefined') { parentCtrl = controllers[1]; parentOptions = parentCtrl.getOptions(); - }; + } var options = angular.extend( {}, diff --git a/lib/ui/analytics/tests/analytics-spec.js b/lib/ui/analytics/tests/analytics-spec.js index 16498567..0c6f013c 100644 --- a/lib/ui/analytics/tests/analytics-spec.js +++ b/lib/ui/analytics/tests/analytics-spec.js @@ -20,15 +20,28 @@ describe('avAnalytics', function() { }); })); - it('should track event', function () { + it('should have AvAnalytics beUndefined', function () { $el = availity.mock.compileDirective('
'); var controller = $el.data('$avAnalyticsOnController'); + var controller2 = $el.data('$avAnalyticsController'); spyOn(controller, 'onEvent').and.callThrough(); $el.trigger('click'); availity.mock.flush(); expect(controller.onEvent).toHaveBeenCalled(); + expect(controller2).toBeUndefined(); + }); + + it('should track event', function () { + $el = availity.mock.compileDirective('
'); + var controller = $el.children().data('$avAnalyticsOnController'); + + spyOn(controller, 'onEvent').and.callThrough(); + + $el.children().trigger('click'); + availity.mock.flush(); + expect(controller.onEvent).toHaveBeenCalled(); expect(avAnalytics.trackEvent).toHaveBeenCalledWith({ event: 'click', level: 'info'}); });