I am writing a node app using coffeescript and doing some TDD using mocha.js. Please can someone point me correct way to write the test.
What I want to do: Fake response of 'ra.do_get'and then call method 'all_tests' to analyze return value
var RequestAdapter = require('./request_adapter');
class QueryHandler
  constructor: (@adapter) ->
    @klass  = "QueryHandler"
    @url    = "http://localhost:#{port[@adapter]}/"
    logger.debug "[#{@klass}] creating .."
    //RequestAdapter is another class doing some GET/POST etc (using request NPM)
    @ra   = new RequestAdapter(@url)
  all_tests: (cb) ->
    logger.info "#{@adapter}: requesting all test - #{adapter_apis.ALL_TESTS_SESSION}"
    _url = @url + adapter_apis.ALL_TESTS_SESSION
    @ra.do_get _url, (error , response) ->
      if error
        return cb({error: true, message: "#{@adapter} adapter errored out"})
      else
        return cb(null,response)
    return   
Thanks
Finally it worked. Originally obj I was trying to spy on was wrong
describe('#all_tests()', function(){
 it('should return all tests', function(done){
   var qh_obj = new qh("FAKE_ADAPTER");
   var spy    = sinon.spy(qh_obj.ra,'do_get');
   qh_obj.all_tests(function(e,r) {});
   (spy.callCount).should.equal(1);
   done();
 });
}); // describe