diff options
Diffstat (limited to 'packages/contracts/src/utils/assertions.ts')
-rw-r--r-- | packages/contracts/src/utils/assertions.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/contracts/src/utils/assertions.ts b/packages/contracts/src/utils/assertions.ts new file mode 100644 index 000000000..72c2734d8 --- /dev/null +++ b/packages/contracts/src/utils/assertions.ts @@ -0,0 +1,20 @@ +import * as chai from 'chai'; +import * as _ from 'lodash'; + +import { constants } from './constants'; + +const expect = chai.expect; + +// throws if the given promise does not reject with one of two expected error +// messages. +export const expectRevertOrAlwaysFailingTransaction = <T>(p: Promise<T>) => { + return expect(p) + .to.be.rejected() + .then(e => { + expect(e).to.satisfy( + (err: Error) => + _.includes(err.message, constants.REVERT) || + _.includes(err.message, constants.ALWAYS_FAILING_TRANSACTION), + ); + }); +}; |