У меня есть служба, которая содержит ресурс factory следующим образом:
serviceModule.factory('ProjectResource', ['$resource', function($resource){
return $resource('/projects/:id.json', {}, {
'query': {method: 'GET', isArray: true}}
);
}]);
В форме, которая находится в контроллере, я вставляю serviceModule, и я создаю новый экземпляр ресурса:
$scope.project = new ProjectResource({name: 'Enter a name'})
У меня есть некоторые проблемы с насмешкой. Я попытался создать такой макет, как этот, и ввел его в контроллер:
mockProjectResource = {
query: function(){
deferred = $q.defer();
deferred.resolve({id: 1, :name:'test'});
return deferred.promise;
}
};
Независимо от unit test, я получаю ошибку:
TypeError: undefined is not a function
Что указывает на инициализацию объекта Project Resource ($scope.project = new ProjectResource({name: 'Enter a name'})
).
Есть ли хороший способ издеваться над new ProjectResource(...)
?