title: trouble when testing solidity with web3 ^1.0.0-beta.37
body: <p>I got error "lottery contract 1) "before each" hook for "deploys a contract" " &amp; " 1) "before each" hook for "deploys a contract":
       Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves."</p>
  
  <pre><code>const ganache = require('ganache-cli')
  const Web3 = require('web3')
  const provider = ganache.provider()
  const web3 = new Web3(provider)
  
  const { interface, bytecode } = require('../compile');
  
  let Lottery;
  let accounts;
  
  beforeEach(async () =&gt; {
      accounts = await web3.eth.getAccounts();
  
      Lottery = await new web3.eth.Contract(JSON.parse(interface))
          .deploy({ data: bytecode })
          .send({ from: accounts[0], gas: '1000000'})
  })
  
  describe('lottery contract', () =&gt; {
      it('deploys a contract', () =&gt; {
          assert.ok(Lottery.options.address)
      })
  })
  
    "license": "ISC",
    "dependencies": {
      "ganache-cli": "^6.4.3",
      "solc": "^0.4.17",
      "truffle-hdwallet-provider": "^1.0.13",
      "web3": "^1.0.0-beta.37"
    },
    "devDependencies": {
      "mocha": "^6.1.4"
    }
  }
  </code></pre>