jeudi 30 avril 2015

Unit test the call count of method in then part of a promise in Jasmine and AngularJS

In code below, userService.addPreference is mocked, and so is $state.go, but still the call count of $state.go is always zero. Is there something I may have missed in the setup of userService.addPreference mocked method?

Code that is being unit tested

      userService.addPreference(preference).then(function (dashboard) {
              $state.go('authenticated.dashboard.grid', {id: dashboard.id});
            });

Unit Test Mocked methods and the Unit Test

sinon.stub(userService, 'addPreference', function (preference) {
                var defer = $q.defer();
                defer.resolve(preference);
                return defer.promise;
            });
sinon.stub($state, 'go', function () { });
    it('dashboard.confirm should call $state.go', function () {
        vm.confirm();//this is the function containing code being unit tested
        expect($state.go.callCount).to.equal(1);//this is always ZERO and so failing
    });

Aucun commentaire:

Enregistrer un commentaire