we should probably put `done` in another `then` together with `assert.fail`, in order to catch unexpected errors. So, something lilke:
```js
AddonInstaller.disable('not-an-id').then(() => {
    assert.fail('Addon disable should not resolve successfully');
}, () => {
    assert.pass('Addon correctly rejected invalid disable');
}).then(done, assert.fail);
```

It's definitely a question of personal taste, but I find more readable in this cases a different syntax like:

```js
AddonInstaller.disable('not-an-id').then(
    function resolved() assert.fail('Addon disable should not resolve successfully'),
    function rejected() assert.pass('Addon correctly rejected invalid disable')
).then(done, assert.fail);
```