Доброго времени суток. Решил разобраться с юнит тестированием в Angular (и юнит тестированием вообще).
Тестирую контроллер формы входа:
$scope.login = function(){
$auth.login({
user: $scope.user.name,
password: $scope.user.password
}).then(
function(resp){
console.log(resp);
$scope.resp = resp;
return $state.go('auth.dm');
},
function(){
console.error("cant't update ");
}
)
};
Соответственно вся задача контроллера - это обратиться к провайдеру аутентификации, передав ему данные из формы ( user: $scope.user.name, password: $scope.user.password), и если ответ успешен, то перенаправить на определенное состояние, если нет, выдать ошибку.
В провайдере тоже нет ничего необычного, он просто делает запрос и передает туда данные:
login: function (params) {
var _this = this;
_this.initDfd();
$http.post(configs.apiUrl, params)
.success(function (resp) {
_this.setAuthorized(resp);
return _this.resolveDfd();
})
.error(function () {
return _this.rejectDfd();
});
return _this.dfd.promise;
},
Соответственно хочу описать контроллер в юнит тесте, но не могу понять, как это сделать.