From f55f3e1ebadc50cbc24afa8e6db5848545769815 Mon Sep 17 00:00:00 2001 From: febbweiss Date: Fri, 9 Oct 2015 13:58:16 +0000 Subject: [PATCH] Fix: testing account switch --- public/js/global.controller.js | 12 +++++------- test/global.controller.spec.js | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/public/js/global.controller.js b/public/js/global.controller.js index bb0aa3e..d193d80 100644 --- a/public/js/global.controller.js +++ b/public/js/global.controller.js @@ -5,19 +5,17 @@ .module('cloudbudget') .controller('GlobalController', GlobalController); - GlobalController.$inject = ['$scope', '$rootScope', '$location']; + GlobalController.$inject = ['$location', '$rootScope']; - function GlobalController($scope, $rootScope, $location) { + function GlobalController($location, $rootScope) { var vm = this; vm.change_account = change_account; - vm.current_account = undefined; + vm.current_account = $rootScope.current_account;; - $scope.$watch(function() { - return $rootScope.current_account; - }, function() { + $rootScope.$watch('current_account', function() { vm.current_account = $rootScope.current_account; - }, true); + }); function change_account() { $location.path('/account/' + vm.current_account); diff --git a/test/global.controller.spec.js b/test/global.controller.spec.js index abf2fae..8fdbcbb 100644 --- a/test/global.controller.spec.js +++ b/test/global.controller.spec.js @@ -22,6 +22,9 @@ describe('GlobalController', function() { beforeEach(inject(function ( _$rootScope_, $controller, _$location_) { $location = _$location_; $rootScope = _$rootScope_; + $rootScope.globals = { + user: true + }; $scope = _$rootScope_.$new(); createController = function() { @@ -39,5 +42,16 @@ describe('GlobalController', function() { globalController.change_account(); $location.path().should.be.equal('/account/560a84058812ad8d0ff200ee') })); + + it('should change successfully', inject(function($location, $rootScope) { + var globalController = createController(); + globalController.current_account = '560a84058812ad8d0ff200ee'; + globalController.change_account(); + $rootScope.current_account = '560a7ad08812ad8d0ff20068'; + $rootScope.$digest(); + globalController.change_account(); + $rootScope.$digest(); + $location.path().should.be.equal('/account/560a7ad08812ad8d0ff20068') + })); }); \ No newline at end of file