But using `done` makes more sense for async call no? In that case wouldn't it make more sense to use a spy?

```js
    it('dispatches the "change" event', function() {
      var spy = sinon.spy();
      var feature = new ol.Feature();
      feature.on('feature', spy);
      feature.setId('foo');
      expect(spy.calledOnce).to.be(true);
      expect(feature.getId()).to.be('foo');
    });
```