There some helpers for asserting promises.
Assert given object is promise
Assert given promise will be fulfilled. It will return promise.
it('should be allow to check if promise fulfilled', function() {
return promised(10).should.be.fulfilled;
});
Assert given promise will be rejected. It will return promise.
it('should be allow to check if promise rejected', function() {
return promiseFail().should.be.rejected;
});
Assert given promise will be rejected with matched Error. Arguments are the same as Assertion#throw.
This method begin assertions for promises, all next .chain calls will be shortcuts for .thenable calls on promise.
So you can do like this
promised('abc').should.finally.be.exactly('abc')
.and.be.a.String;
//or combine with any of Promise methods as any assertion will return Promise itself
Promise.all([
promised(10).should.finally.be.a.Number,
promised('abc').should.finally.be.a.String
])
Everything you did before .finally saved into new assertion (but that is not quite usefull as object will be promise).
Main idea is to save .not
and .any
.