title: Sinon not stubbing on module.exports
body: <p>If create an file with the following contents</p>
  
  <pre><code>const validateEmail = email =&gt; {
      sendEmail(email);
  };
  
  const sendEmail = email =&gt; {
    return true;
  };
  
  module.exports = {
    validateEmail,
    sendEmail,
  };
  </code></pre>
  
  <p>And a test that tries to stub out the second function...</p>
  
  <pre><code>it('Should call sendEmail if a valid email is passed', () =&gt; {
    let sendEmailSpy = sinon.stub(checkEmail, 'sendEmail');
    checkEmail.validateEmail('acorrectemail@therightformat.com');
    assert.isTrue(sendEmailSpy.called);
  });
  </code></pre>
  
  <p>It still calls the <code>sendEmail</code> function and the test fails</p>
  
  <p>However, if I write the <code>module.exports</code> like this:</p>
  
  <pre><code>module.exports = {
    validateEmail(email) {
        this.sendEmail(email);
    },
    sendEmail(email) {
      return true;
    },
  };
  </code></pre>
  
  <p>It stubs it correctly...Why?</p>