From fcd278c2f611f59a8df7beb567b6aa5d549a6b00 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Tue, 23 Jun 2015 10:11:03 -0500 Subject: [PATCH] fix(analytics): Pass tests Restores the "UUID" property so that tests no longer fail. Corrects various typos in analytics service test. Moves landing page tracking to the Jade file to avoid duplicate tracking. --- test/spec/services/analyticsServicesSpec.js | 32 +++++++++---------- website/public/js/controllers/authCtrl.js | 3 +- .../public/js/services/analyticsServices.js | 2 +- website/views/static/front.jade | 1 + 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/test/spec/services/analyticsServicesSpec.js b/test/spec/services/analyticsServicesSpec.js index 798e0fab47..935ace5900 100644 --- a/test/spec/services/analyticsServicesSpec.js +++ b/test/spec/services/analyticsServicesSpec.js @@ -26,13 +26,13 @@ describe('Analytics Service', function () { sandbox.stub(window, 'ga'); }); - it('sets up user with amplitude', function() { + it('sets up user with Amplitude', function() { analytics.register(); expect(amplitude.setUserId).to.have.been.calledOnce; expect(amplitude.setUserId).to.have.been.calledWith(user._id); }); - it('sets up user with google analytics', function() { + it('sets up user with Google Analytics', function() { analytics.register(); expect(ga).to.have.been.calledOnce; expect(ga).to.have.been.calledWith('set', {userId: user._id}); @@ -68,9 +68,9 @@ describe('Analytics Service', function () { sandbox.stub(window, 'ga'); }); - context('succeful tracking', function() { + context('successful tracking', function() { - it('tracks a simple user action with amplitude', function() { + it('tracks a simple user action with Amplitude', function() { var properties = {'hitType':'event','eventCategory':'behavior','eventAction':'cron'}; analytics.track(properties); @@ -78,7 +78,7 @@ describe('Analytics Service', function () { expect(amplitude.logEvent).to.have.been.calledWith('cron', properties); }); - it('tracks a simple user action with google analytics', function() { + it('tracks a simple user action with Google Analytics', function() { var properties = {'hitType':'event','eventCategory':'behavior','eventAction':'cron'}; analytics.track(properties); @@ -86,7 +86,7 @@ describe('Analytics Service', function () { expect(ga).to.have.been.calledWith('send', properties); }); - it('tracks a user action with additional properties in amplitude', function() { + it('tracks a user action with additional properties in Amplitude', function() { var properties = {'hitType':'event','eventCategory':'behavior','eventAction':'cron','booleanProperty':true,'numericProperty':17,'stringProperty':'bagel'}; analytics.track(properties); @@ -103,13 +103,13 @@ describe('Analytics Service', function () { }); }); - context('unsuccesful tracking', function() { + context('unsuccessful tracking', function() { beforeEach(function() { sandbox.stub(console, 'log'); }); - context('events without requird properties', function() { + context('events without required properties', function() { beforeEach(function(){ analytics.track('action'); analytics.track({'hitType':'pageview','eventCategory':'green'}); @@ -124,11 +124,11 @@ describe('Analytics Service', function () { expect(console.log.callCount).to.eql(7); }); - it('does not call out to amplitude', function() { + it('does not call out to Amplitude', function() { expect(amplitude.logEvent).to.not.be.called; }); - it('does not call out to google analytics', function() { + it('does not call out to Google Analytics', function() { expect(ga).to.not.be.called; }); }); @@ -142,11 +142,11 @@ describe('Analytics Service', function () { expect(console.log).to.have.been.calledOnce; }); - it('does not call out to amplitude', function() { + it('does not call out to Amplitude', function() { expect(amplitude.logEvent).to.not.be.called; }); - it('does not call out to google analytics', function() { + it('does not call out to Google Analytics', function() { expect(ga).to.not.be.called; }); }); @@ -183,12 +183,12 @@ describe('Analytics Service', function () { analytics.updateUser(properties); }); - it('calls amplitude with provided properties and select user info', function() { + it('calls Amplitude with provided properties and select user info', function() { expect(amplitude.setUserProperties).to.have.been.calledOnce; expect(amplitude.setUserProperties).to.have.been.calledWith(expectedProperties); }); - it('calls google analytics with provided properties and select user info', function() { + it('calls Google Analytics with provided properties and select user info', function() { expect(ga).to.have.been.calledOnce; expect(ga).to.have.been.calledWith('set', expectedProperties); }); @@ -221,12 +221,12 @@ describe('Analytics Service', function () { analytics.updateUser(); }); - it('calls amplitude with select user info', function() { + it('calls Amplitude with select user info', function() { expect(amplitude.setUserProperties).to.have.been.calledOnce; expect(amplitude.setUserProperties).to.have.been.calledWith(expectedProperties); }); - it('calls google analytics with select user info', function() { + it('calls Google Analytics with select user info', function() { expect(ga).to.have.been.calledOnce; expect(ga).to.have.been.calledWith('set', expectedProperties); }); diff --git a/website/public/js/controllers/authCtrl.js b/website/public/js/controllers/authCtrl.js index 0a893fdf3b..eb62d87d52 100644 --- a/website/public/js/controllers/authCtrl.js +++ b/website/public/js/controllers/authCtrl.js @@ -7,8 +7,7 @@ angular.module('habitrpg') .controller("AuthCtrl", ['$scope', '$rootScope', 'User', '$http', '$location', '$window','ApiUrl', '$modal', 'Analytics', function($scope, $rootScope, User, $http, $location, $window, ApiUrl, $modal, Analytics) { - - Analytics.track({'hitType':'pageview','eventCategory':'page','eventAction':'landing page','page':'/static/front'}); + $scope.Analytics = Analytics; $scope.logout = function() { localStorage.clear(); diff --git a/website/public/js/services/analyticsServices.js b/website/public/js/services/analyticsServices.js index d39da7df15..462397954c 100644 --- a/website/public/js/services/analyticsServices.js +++ b/website/public/js/services/analyticsServices.js @@ -88,7 +88,7 @@ } function _gatherUserStats(user, properties) { - if (user._id) properties.user_id = user._id; + if (user._id) properties.UUID = user._id; if (user.stats) { properties.Class = user.stats.class; properties.Experience = Math.floor(user.stats.exp); diff --git a/website/views/static/front.jade b/website/views/static/front.jade index ffa0ee3e87..830d110b4b 100644 --- a/website/views/static/front.jade +++ b/website/views/static/front.jade @@ -39,6 +39,7 @@ html(ng-app='habitrpg', ng-controller='RootCtrl') include ../shared/mixins include ../shared/modals/members .mobile-container + div(ng-init='Analytics.track({"hitType":"pageview","eventCategory":"page","eventAction":"landing page","page":"/static/front"});') header#header nav.navbar.navbar-default.navbar-static-top .container-fluid