title: Mocha unit test throw Timeout of 3000ms exceeded
body: <p>i wanted to add a delay between two tests because one it depends on another</p>
  
  <p>all's good except when i change params to test catch it only shows this error</p>
  
  <pre><code>Error: Timeout of 3000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
  </code></pre>
  
  <p>test code</p>
  
  <pre><code>it('save Prods', function(done){
  
          this.timeout(3000); 
  
          setTimeout(() =&gt; {
             graphql.saveProd.resolve(null,
                  {
                      prod_id : prod_id,
                  })
                  .then(data =&gt; {
  
                          expect(data).to.be.an('array')
                          done()
  
                  }).catch(done) &lt;----- as you see here i added done() in both cases (then &amp; catch)
  
              },3000)
      })
  
  </code></pre>