в моем контроллере у меня есть вызов службы http. Это мой контроллер:
myApp.controller('MyController', function MyController($scope, myData) {
myData.getItemsByPage(1, 10)
.success(function (data, status, headers, config) {
$scope.items = data.items;
})
.error(function (data, status, headers, config) {
var test = 1;
});
});
Это тест Жасмин:
it('it should return results', function () {
var results = {
"items": [
{"Title": "Star Wars1","Year": "1977"},
{"Title": "Star Wars2","Year": "1980"},
{"Title": "Star Wars3","Year": "1983"}]
};
spyOn(myData, 'getItemsByPage').and.callFake(function (message, success, fail) {
return {
success: function (successCallback) {
var status = {};
var headers = function() {
return {
'x-pagination': '{"totalCount": 3}'
}
};
var config = {};
successCallback(results, status, headers, config);
},
error: function (fail) {
var x = 1;
}
}
});
$rootScope.$apply();
$controller('MyController', { $scope: $scope });
});
Я получаю исключение "TypeError: Невозможно получить ошибку свойства" неопределенной или нулевой ссылки "
по какой-то причине вам нужно вернуть объект ошибки после вызова метода успеха.
spyOn(myData, 'getItemsByPage').and.callFake(function (message, success, fail)
{
return {
success: function (successCallback) {
var status = {};
var headers = function() {
return {
'x-pagination': '{"totalCount": 3}'
}
};
var config = {};
successCallback(results, status, headers, config);
return {
error: function (errorCallback) {
var x = 1;
}
}
},
error: function (fail) {
var x = 1;
}
}
});