2014-12-11 3 views
0

я следующий кусок кода, который я пытаюсь проверить в жасминкак проверить a .then() в жасмине?

$scope.createTeam = function(team) { 
var errorCB, successCB; 
    successCB = function(resp) { 
    return $scope.followRepository(resp.team, true); 
    }; 
    errorCB = function(err) { 
    return toaster.pop('error', 'Team Not Created', err); 
    }; 
    return TeamService.createTeam(team).then(successCB, errorCB); 
}; 

До сих пор я придумал

this.TeamServiceSpy2 = spyOn(this.TeamService, 'createTeam').and.callThrough(); 

it("should create a team", function() { 
    return this.scope.createTeam(this.teamMock).expect(this.TeamServiceSpy2).toHaveBeenCalled(); 
}); 

и это прошло, но я путать о том, как проверить ошибка и успешная часть обещания

ответ

0

Вы должны просто использовать параметр, предоставляемый обратным вызовом метода it.

здесь рабочий пример

it('should get a record', function(done) { 
     var self = this; 
     return user.get(id) 
      .then(function(response) { 
       expect(response.email).toEqual('[email protected]'); 
       done(); 
      }) 
      .catch(function(error) { 
       self.fail(error); 
       done(); 
      }); 
    }); 
Смежные вопросы