Testowanie usług $ resource w AngularJS

Próbuję rozpocząć pisanie testów jednostkowych dla mojej aplikacji kątowej i szybko uderzać w blok zatrzymujący, ponieważ nie jestem pewien, jak dokładnie wyszydzić moją usługę w testowalny sposób.
Czy istnieje sposób na wyśmiewanie wywołania REST, w przeciwnym razie wydawałoby się, że w testach muszę odzwierciedlać wszystko, co jest w mojej usłudze, ale wydaje mi się, że nie jestem w stanie przetestować pisania, więc może tak to jest do wykonania. Każda pomoc byłaby bardzo mile widziana.

Moja usługa jest następująca:

angular.module('resources.users', ['ngResource'])
.factory('User', function($resource) {
   var resource = $resource('/api/index.php/users/:username', {}, {
      'update': {method: 'PUT'}
   });

   resource.getUser = function(username, successCb) {
      return resource.query({username: username}, successCb);
   };

   return resource;
});

Mój test składa się dotychczas z:

describe('User', function() {
    var mockUserResource;
    beforeEach(module('resources.users'));
    beforeEach(function() {
        mockUserResource = sinon.stub({
            getUser: function(username) {
                mockUserResource.query({username: username});
            },
            query: function() {}
        });
        module(function($provide) {
            $provide.value('User', mockUserResource);
        })
   });
   describe('getUser', function() {
      it('should call getUser with username', inject(function(User) {
          User.getUser('test');
          expect(mockUserResource.query.args[0][0]).toEqual({username: 'test'});
      }));
   })
});

questionAnswers(2)

yourAnswerToTheQuestion