I am running a Karma test on an angular app, in the test I have the following:
return inject(function($injector) {
this.Service = {
functionWithPromise: function(postdata){
var deferred = $q.defer();
deferred.resolve({
data: {}
});
return deferred.promise;
}
};
};
and
it('should call the functionWithPromise function when the create function is called', function() {
res = {}
this.scope.create(res);
this.scope.$digest();
spyOn(Service, "functionWithPromise");
expect(this.Service.functionWithPromise).toHaveBeenCalled();
});
when I run the test it gives this error:
functionWithPromise() method does not exist
How can I get the test to recognize the functionWithPromise() function?
Figured it out, I needed to spy on this.Service
instead of service, like this:
spyOn(this.Service, "functionWithPromise");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With