title: Sinon stub.resolves() not acting as desired
body: <p>Here's the function I'm writing tests for:</p>
  
  <pre><code>ensureUserDoesNotExist(request, response, next) {
    this.User.findOne({ where: { email: request.body.email }})
      .then(user =&gt; {
        if (user) {
          response.sendStatus(403);
        } else {
          next();
        }
      });
    }
  </code></pre>
  
  <p>And here's the test that I cannot get to pass:</p>
  
  <pre><code>it('should return a 403 if a matching user is found', () =&gt; {
    mockRequest.body.email = 'test@email.com';
    userController.User.findOne.resolves(true); // This is a previously created sinon stub
    userController.ensureUserDoesNotExist(mockRequest, mockResponse, mockNext);
    assert(mockResponse.sendStatus.calledWith(403));
  });
  </code></pre>
  
  <p>It fails, simply claiming that the stub isn't called (at all, for what it's worth).</p>
  
  <p>I strongly suspect this is to do with the promise - or Sinon's interaction with it - but am having a complete mind-blank in trying to figure out exactly what. The code works as intended (or it did when I last looked before playing about with it). Can anyone help me out?</p>