title: How to mock require('uuid/v1') correctly with Sinon
body: <p><code>schema.js</code>:</p>
  
  <pre><code>const uuid = require('uuid');
  .......
  const sessionId = uuid.v1();
  </code></pre>
  
  <p><code>schema.test.js</code>:</p>
  
  <pre><code>const uuid = sinon.mock(require('uuid'));
  .......
  uuid.expects('v1').returns('00000000-0000-0000-0000-000000000000');
  </code></pre>
  
  <p>The above works perfectly and <code>sessionId</code> gets the value of <code>0000.....</code>.</p>
  
  <p>However, the <code>schema.js</code> file actually looks like this:</p>
  
  <pre><code>const uuidv1 = require('uuid/v1');
  .......
  const sessionId = uuidv1();
  </code></pre>
  
  <p>How should <code>schema.test.js</code> be so that the <code>sessionId</code> gets the value of <code>0000.....</code>? </p>
  
  <pre><code>const mockUuid = sinon.mock(require('uuid/v1'));
  ........
  mockUuid.returns('00000000-0000-0000-0000-000000000000');
  </code></pre>
  
  <p>returns <code>TypeError: mockUuid.returns is not a function</code>.</p>
  
  <pre><code>const mockUuid = sinon.mock(require('uuid/v1'));
  ........
  mockUuid.expects().returns('00000000-0000-0000-0000-000000000000');
  </code></pre>
  
  <p>also doesn't work.</p>
  
  <p>Any ideas?</p>