diff --git a/app/skill-picker/skill-picker.controller.js b/app/skill-picker/skill-picker.controller.js index 4933534e7..476fbb4b7 100644 --- a/app/skill-picker/skill-picker.controller.js +++ b/app/skill-picker/skill-picker.controller.js @@ -175,7 +175,7 @@ vm.saving = false; toaster.pop('success', "Success!", "Your skills have been updated."); vm.disableDoneButton = true; - //$state.go('dashboard'); + $state.go('dashboard'); }) .catch(function(resp) { vm.saving = false; diff --git a/app/skill-picker/skill-picker.spec.js b/app/skill-picker/skill-picker.spec.js index ba831d011..cad2670e8 100644 --- a/app/skill-picker/skill-picker.spec.js +++ b/app/skill-picker/skill-picker.spec.js @@ -1,7 +1,7 @@ /* jshint -W117, -W030 */ describe('Skill Picker Controller', function() { var vm; - var toasterSvc, memberCertService, profileService; + var toasterSvc, memberCertService, profileService, state; var mockProfile = mockData.getMockProfile(); beforeEach(function() { @@ -57,11 +57,16 @@ describe('Skill Picker Controller', function() { default: $q.when(true) }); + // mocked $state object + state = { go: sinon.spy()}; + var scope = $rootScope.$new(); vm = $controller('SkillPickerController', { $scope: scope, userProfile: mockProfile, - featuredSkills: [] + featuredSkills: [], + $state: state + }); $rootScope.$digest(); }); @@ -129,6 +134,9 @@ describe('Skill Picker Controller', function() { expect(mockProfile.save).not.to.be.called; expect(profileService.updateUserSkills).not.to.be.called; expect(memberCertService.registerMember).not.to.be.called; + // we should still go to dashboard if the function is called, + // call to the function is controlled by disabling the button + expect(state.go).to.have.been.calledWith('dashboard').calledOnce; }); it('should update tracks for the member ', function() { @@ -139,6 +147,7 @@ describe('Skill Picker Controller', function() { expect(mockProfile.save).to.be.calledOnce; expect(profileService.updateUserSkills).not.to.be.called; expect(memberCertService.registerMember).not.to.be.called; + expect(state.go).to.have.been.calledWith('dashboard').calledOnce; }); it('should show error popup for updating tracks ', function() { @@ -156,6 +165,7 @@ describe('Skill Picker Controller', function() { expect(toasterSvc.pop).to.have.been.calledWith('error', "Whoops!", sinon.match('wrong')).calledOnce; expect(profileService.updateUserSkills).not.to.be.called; expect(memberCertService.registerMember).not.to.be.called; + expect(state.go).not.to.be.called; }); it('should update skills for the member ', function() { @@ -165,6 +175,7 @@ describe('Skill Picker Controller', function() { expect(mockProfile.save).not.to.be.called; expect(profileService.updateUserSkills).to.be.calledOnce; expect(memberCertService.registerMember).not.to.be.called; + expect(state.go).to.have.been.calledWith('dashboard').calledOnce; }); it('should show error popup for error in updating skills ', function() { @@ -175,6 +186,7 @@ describe('Skill Picker Controller', function() { expect(profileService.updateUserSkills).to.be.calledOnce; expect(toasterSvc.pop).to.have.been.calledWith('error', "Whoops!", sinon.match('wrong')).calledOnce; expect(memberCertService.registerMember).not.to.be.called; + expect(state.go).not.to.be.called; }); it('should update communities for the member ', function() { @@ -185,6 +197,7 @@ describe('Skill Picker Controller', function() { expect(mockProfile.save).not.to.be.called; expect(profileService.updateUserSkills).not.to.be.called; expect(memberCertService.registerMember).to.be.calledOnce; + expect(state.go).to.have.been.calledWith('dashboard').calledOnce; }); // we may need to update this test case when we want to call unregister endpoint @@ -196,6 +209,9 @@ describe('Skill Picker Controller', function() { expect(mockProfile.save).not.to.be.called; expect(profileService.updateUserSkills).not.to.be.called; expect(memberCertService.registerMember).not.to.be.called; + // we should still go to dashboard if the function is called, + // call to the function is controlled by disabling the button + expect(state.go).to.have.been.calledWith('dashboard').calledOnce; }); it('should NOT update communities for the member for enabled but non dirty community ', function() { @@ -207,6 +223,9 @@ describe('Skill Picker Controller', function() { expect(mockProfile.save).not.to.be.called; expect(profileService.updateUserSkills).not.to.be.called; expect(memberCertService.registerMember).not.to.be.called; + // we should still go to dashboard if the function is called, + // call to the function is controlled by disabling the button + expect(state.go).to.have.been.calledWith('dashboard').calledOnce; }); it('should show error popup for error in updating communities ', function() { @@ -219,6 +238,7 @@ describe('Skill Picker Controller', function() { expect(profileService.updateUserSkills).not.to.be.called; expect(memberCertService.registerMember).to.be.calledOnce; expect(toasterSvc.pop).to.have.been.calledWith('error', "Whoops!", sinon.match('wrong')).calledOnce; + expect(state.go).not.to.be.called; }); });