Я пытаюсь имитировать HTTP-запросы для AngularJS в Jest.
У меня есть такая услуга
public UserService(user) {
let url = this.env.getUserEndpoint("/users");
let deferred = this.$q.defer<any>();
this.$http.post<{ user: IUser }>(url,user).then( (result) => {
deferred.resolve(result.data.user);
}, (error) => {
deferred.reject(this.httpErrorHandlingService.handleHttpError(error, "creating new user"));
});
return deferred.promise;
}
Test:
beforeEach(angular.mock.module("test"));
var userService;
beforeEach(angular.mock.inject(function (UserService) {
userService = UserService;
}));
it('should create new user', function () {
const newUser = {
name: "testUser",
password: "12345"
};
return userService.createNewUser(newUser).then(user => expect(user.name).toEqual("testUser")
});
Я получаю сообщение об ошибке: Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Timeout
Что я делаю не так и как я могу высмеять AngularJS HTTP-запросы самым простым способом?