My resource looks something like this.
return $resource(baseURL + 'user',{},{         
     isPermitted: {method: 'POST', isArray:false, params: { regID: @regID} },
     doesExist:   {method: 'GET',  url: baseURL + 'user/doesExist' }
});
I have written Jasmine tests for the same. What I am trying to understand is
- Is this the correct way to layout the test (or should i be using something like sinon) 
- Are these the only test that need to be performed on a resource (or should i be writing a lot more tests. Kindly point out to what other aspects need to be tested) 
The test:
describe('UserCheck',function(){
  var $httpBackend, mockUserCheckResource;
  var webServiceBaseURL = 'server.comp.com';
  beforeEach(module('demo'));
    beforeEach(function(){
    angular.mock.inject(function($injector){
      $httpBackend = $injector.get('$httpBackend');
      mockUserCheckResource = $injector.get('UserCheck');
    });
  });
  afterEach(function(){
    $httpBackend.verifyNoOutstandingExpectation();
    $httpBackend.verifyNoOutstandingRequest();
  });
  describe('isPermitted',function(){
    var  aObj = {regID:'xxx'};
    it('should issue a POST request to /user',function(){
      var result;
      $httpBackend.expectPOST(webServiceBaseURL + 'user',{regID:'xxx'}).respond(201);
      result = mockUserCheckResource.isPermitted(aObj);
      $httpBackend.flush();
      expect(result.regID).toBeDefined('xxx');      
    });
  });
  describe('doesExist',function(){
    it('should issue a GET request to /user/doesExist',function(){
      var result = {};
      $httpBackend.expectGET(webServiceBaseURL + 'user/doesExist?userID=123').respond({"isPresent":1});
      result = mockUserCheckResource.doesExist({userID:'123'});
      $httpBackend.flush();
      expect(result.isPresent).toBe(1);
    });
  });
);
 
    