How to test stubbed database queries

I have a Sails.Js controller that looks like this

module.exports = {
  confirmID: function(req,res) {
    var uid = req.params.id;
     User.findOne({id:uid}).exec(function(err,user) {
       // ...
     });
  }
}

where User is a sails-postgres model. I have tried testing it with mocha, sinon and supertest with a test like this

describe('Controller', function() {
  var sandbox;

  before(function() {
    sandbox = sinon.sandbox.create();
    sandbox.stub(User, 'findOne');
  });

  after(function() {
    sandbox.restore();
  });

  describe('GET /confirmid/:id', function() {

    it('should do something', function(done) {
      request(sails.hooks.http.app)
        .get('/confirmid/123')
        .expect(200)
        .end(function(err,res) {
          sandbox.fakes[0].called.should.be.true;
          done();
        });
  });
});

If I leave it at that it errors out because exec is called on undefined, but I can't seem to stub the nested exec method without either errors or the test hanging. Is there a way to stub a series of method calls such as .find().exec()? Or am I best to just leave this to integration tests where I can test it with an actual database?

Assuming that you really want to stub (not just spy) - you want to control what the query resolves to as opposed to simply knowing whether the query was executed. Here's what I'm using to stub sails/waterline query methods. Something like...

var stubQueryMethod = require('stubQueryMethod');

describe('Controller', function() {
  before(function() {
    stubQueryMethod(User, 'findOne', {
      id: 123,
      name: 'Fred Fakes'
    });
  });

  after(function() {
    User.findOne.restore();
  });

  describe('GET /confirmid/:id', function() {
    it('should do something', function(done) {
      request(sails.hooks.http.app)
        .get('/confirmid/123')
        .expect(200)
        .end(function(err,user) {
          user.should.have.property('name', 'Fred Fakes');
          done();
        });
    });
  });
});

Source: https://gist.github.com/wxactly/f2258078d802923a1a0d