title: throw an error using ts-mockito in async function
body: <p>I am trying to test an API endpoint using ts-mockito. Things went well until I started going async...
  my test:</p>
  
  <pre><code>it('should throw an error if the address is not valid',()=&gt;{
    const mockedGeolocationService: GoogleGeolocationService = mock(GoogleGeolocationService);
    when(mockedGeolocationService.getLocation(address)).thenThrow(new Error("the address provided is not valid"));
    const geolocationService: IGeolocationService = instance(mockedGeolocationService);
  
    const addressService: AddressService = new AddressService(geolocationService, new MongoAddressRepository());
    expect(() =&gt; addressService.storeAddress(address)).to.throw("the address provided is not valid");
  });
  </code></pre>
  
  <p>the service:</p>
  
  <pre><code>public storeAddress = (address: Address): void =&gt; {
    const location = this.geolocationService.getLocation(address);
    address.setLocation(location);
    this.addressRepository.store(address);
  }
  </code></pre>
  
  <p>up to this point, everything works fine. But when I started to implement the geolocation service, I had to declare it as a promise because it does an http request.</p>
  
  <pre><code>public storeAddress = async (address: Address): Promise&lt;void&gt; =&gt; {
    const location = await this.geolocationService.getLocation(address);
    address.setLocation(location);
    this.addressRepository.store(address);
  }
  </code></pre>
  
  <p>Then I cannot capture the error thrown anymore, if it is thrown after all...
  Any clue how I should capture or throw this error? Thanks in advance.</p>