title: Async Mocha done() isn't called in my function
body: <p>I call this function, console log is called but done() is not called: </p>
  
  <pre><code>import {Database} from "../../code/server/Database";
  import 'mocha'
  const expect = require('chai').expect
  
  describe('Database save', function() {
      it('should save without error', function(done) {
          Database.saveSessionData(1, 2, 3, function(err, docs) {
              expect(err).to.equal(null)
              expect(docs.sessionOpenTime).to.equal(1)
              expect(docs.sessionCloseTime).to.equal(2)
              expect(docs.sessionLength).to.equal(3)
              console.log(2222)
              done()
          })
      })
  })
  </code></pre>
  
  <p>Here is the result, 'Running tests' continues spinning on forever: </p>
  
  <p><a href="https://image.prntscr.com/image/hWDhcjXwQhyQBYdgDNfG_g.png" rel="nofollow noreferrer"><img src="https://image.prntscr.com/image/hWDhcjXwQhyQBYdgDNfG_g.png" alt="result"></a></p>
  
  <p>But if I change the 'Database' code into this, it works as expected:</p>
  
  <pre><code>setTimeout(function () {
              console.log('lol')
              done()
          }, 1000)
  </code></pre>
  
  <p>What am I missing here?</p>