Test a rejection with Chai as promised

If you’re using Chai-As-Promised (as you say you are), then it allows for chaining off of rejectedWith – and it sets the chain assertion object to be the error object – meaning anything after rejectedWith() is now going to assert on the Error. This lets you do cool things like:

return expect(foo()).to.eventually
  .be.rejectedWith("my error message")
  .and.be.an.instanceOf(Error)
  .and.have.property('code', 'EFOO');

Some of the chai methods also chain, so you can use that to make some quite deeply nested assertions about the error:

return expect(foo()).to.eventually
  .be.rejectedWith("my error message")
  .and.have.property('stack')
    .that.includes('myfile.js:30')

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)