spyOn could not find an object to spy upon for all()

forgottofly picture forgottofly · May 14, 2015 · Viewed 22.4k times · Source

I'm getting the above error when I want to mock http REST services created using Restangular. Here's my piece of code:

var someParameter = [{ "id": 1, "name": "Length" }]
   spyOn(Restangular, 'one').and.callThrough();
    it('expect company service to be called', function () {     
        httpBackend.expectGET('http://localhost:8283/com/companies', {
            someParameter: someParameter
        }).respond(mockToReturn);
    });

Has anybody encountered the same issue.And any fix ?

Answer

Ivan Toncev picture Ivan Toncev · May 14, 2015

This is how I did it, hope it helps.

var Restangular;
beforeEach(inject(function( _Restangular_) {
    Restangular = _Restangular_;
    spyOn(Restangular, 'all').and.callThrough();
}));