I am testing a controller that uses a service that returns a promise. I need to resolve promise. I am using Jasmine 2.
Here is Spec code
beforeEach(inject(function ($controller, $rootScope, _myService_, _$q_, _$rootScope_, _$httpBackend_, $http) {
scope = $rootScope.$new();
$q = _$q_;
$httpBackend = _$httpBackend_;
$rootScope = _$rootScope_;
myService = _myService_;
$http = $http;
ctrl = $controller('Ctrl', { '$scope': scope, 'myService': myService });
spyOn(myService, "getDateRangeData").and.callThrough();
}));
it('getDateRangeData return Data obj', function() {
myService.getDateRangeData().then(function(response) {
console.log('Success', response);
});
scope.$digest()
});
service js
function getDateRangeData(obj) {
return $http({
method: 'POST',
url: 'https:URL',
headers: {
'Content-Type': 'application/json',
'X-Auth-Token': self.token
},
data: obj
})
}
консоль не возвращает obj.Shows error. Неожиданный запрос: POST https: URL Больше не ожидается запрос.Мне нужны данные от Ctrl.В Crtl я получаю данные, но не в testcase.отложить.как получить данные API.Данные API - это объект.или есть другой апрель, чтобы получить Ctrl, вернуть обещание и getData?добавлен сервисный js-код для отправки запроса.
Может кто-нибудь помочь в ближайшее время, пожалуйста.