From 472019c6a6ff99e7f9573d69725b70685514f1d8 Mon Sep 17 00:00:00 2001 From: Clinton Blackburn Date: Thu, 11 Dec 2014 23:23:20 -0500 Subject: [PATCH] Fixed Segment Bug The unclear naming of JS properties has been clarified to avoid confusion with userId, userName, and name. --- analytics_dashboard/courses/views.py | 6 ++-- .../js/test/specs/tracking-view-spec.js | 30 ++++++++----------- .../static/js/views/tracking-view.js | 6 ++-- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/analytics_dashboard/courses/views.py b/analytics_dashboard/courses/views.py index 6f02bd37f..f6d9c31dd 100644 --- a/analytics_dashboard/courses/views.py +++ b/analytics_dashboard/courses/views.py @@ -87,9 +87,9 @@ def get_context_data(self, **kwargs): 'courseId': self.course_id }, 'user': { - 'userId': user.get_username(), - 'userName': user.get_full_name(), - 'userEmail': user.email, + 'username': user.get_username(), + 'name': user.get_full_name(), + 'email': user.email, 'ignoreInReporting': self._ignore_in_reporting(user) }, }) diff --git a/analytics_dashboard/static/js/test/specs/tracking-view-spec.js b/analytics_dashboard/static/js/test/specs/tracking-view-spec.js index 6f9e3fd07..ffc959d32 100644 --- a/analytics_dashboard/static/js/test/specs/tracking-view-spec.js +++ b/analytics_dashboard/static/js/test/specs/tracking-view-spec.js @@ -5,6 +5,13 @@ define(['models/course-model', 'models/tracking-model', 'models/user-model', 'vi describe('Tracking View', function () { + var userDetails = { + username: 'edX', + name: 'Ed Xavier', + email: 'edx@example.com', + ignoreInReporting: true + }; + it('should call segment with application key and page', function () { var view; @@ -24,16 +31,9 @@ define(['models/course-model', 'models/tracking-model', 'models/user-model', 'vi }); it('should call segment with user information', function () { - var view; - - view = new TrackingView({ + var view = new TrackingView({ model: new TrackingModel(), - userModel: new UserModel({ - userId: 'myId', - userName: 'MyName', - userEmail: 'myemail@edx.org', - ignoreInReporting: true - }) + userModel: new UserModel(userDetails) }); // mock segment @@ -43,9 +43,9 @@ define(['models/course-model', 'models/tracking-model', 'models/user-model', 'vi view.logUser(); - expect(view.segment.identify).toHaveBeenCalledWith('myId', { - username: 'MyName', - email: 'myemail@edx.org', + expect(view.segment.identify).toHaveBeenCalledWith(userDetails.username, { + name: userDetails.name, + email: userDetails.email, ignoreInReporting: true }); }); @@ -77,11 +77,7 @@ define(['models/course-model', 'models/tracking-model', 'models/user-model', 'vi segmentApplicationId: 'applicationId', page: 'mypage' }); - userModel.set({ - userId: 'myId', - userName: 'My Name', - userEmail: 'myemail@edx.org' - }); + userModel.set(userDetails); // check to see if the methods were called expect(view.segment.identify).toHaveBeenCalled(); diff --git a/analytics_dashboard/static/js/views/tracking-view.js b/analytics_dashboard/static/js/views/tracking-view.js index 3838a19bf..b999150bf 100644 --- a/analytics_dashboard/static/js/views/tracking-view.js +++ b/analytics_dashboard/static/js/views/tracking-view.js @@ -105,9 +105,9 @@ define(['backbone', 'underscore', 'utils/utils'], logUser: function () { var self = this, userModel = self.options.userModel; - self.segment.identify(userModel.get('userId'), { - username: userModel.get('userName'), - email: userModel.get('userEmail'), + self.segment.identify(userModel.get('username'), { + name: userModel.get('name'), + email: userModel.get('email'), ignoreInReporting: userModel.get('ignoreInReporting') }); },