nit: use `this.sinon.spy` instead of `sinon.spy` and this way you don't need the `spy.restore()` in the teardown.
(so you won't need the teardown at all)