Я пытаюсь выполнить модульный тест для службы, использующей $http. Я использую Jasmine, и я продолжаю получать эту ошибку:
TypeError: parsed is undefined в angular.js (строка 13737)
Вот как выглядит мой сервис:
angular.module('myapp.services', [])
.factory('inviteService', ['$rootScope', '$http', function($rootScope, $http) {
var inviteService = {
token: '',
getInvite: function(callback, errorCallback) {
$http.get('/invites/' + this.token + '/get-invite')
.success(function(data) {
callback(data);
})
.error(function(data, status, headers, config) {
errorCallback(status);
});
}
};
return inviteService;
}]);
Вот как выглядит мой тест:
describe ('Invite Service', function () {
var $httpBackend, inviteService, authRequestHandler;
var token = '1123581321';
beforeEach(module('myapp.services'));
beforeEach(inject(function ($injector) {
$httpBackend = $injector.get('$httpBackend');
authRequestHandler = $httpBackend.when('/invites/' + token + '/get-invite').respond({userId: 'userX'}, {'A-Token': 'xxx'});
inviteService = $injector.get('inviteService');
}));
afterEach (function () {
$httpBackend.verifyNoOutstandingExpectation ();
$httpBackend.verifyNoOutstandingRequest ();
});
describe ('getInvite', function () {
beforeEach(function () {
inviteService.token = token;
});
it ('should return the invite', function () {
$httpBackend.expectGET('/invites/' + token + '/get-invite');
inviteService.getInvite();
$httpBackend.flush();
});
});
});
Я новичок в модульном тестировании приложений на основе angularjs, и я использовал пример в документации angularjs.
https://docs.angularjs.org/api/ngMock/service/$httpBackend
Я не уверен, что я мог упустить, и я уже пробовал разные вещи, и я всегда получаю одну и ту же ошибку, любая помощь будет оценена.