diff --git a/test/helpers/expectEvent.js b/test/helpers/expectEvent.js index b857b6636bf..81eea675225 100644 --- a/test/helpers/expectEvent.js +++ b/test/helpers/expectEvent.js @@ -1,8 +1,21 @@ -const BigNumber = web3.BigNumber; +const BigNumber = web3.utils.BN; const should = require('chai') .use(require('chai-bignumber')(BigNumber)) .should(); +function inEvents (events, eventName, eventArgs = {}) { + event = Object.values(events).find(function (e) { + if (e.event === eventName) { + for (const [k, v] of Object.entries(eventArgs)) { + contains(e.returnValues, k, v); + } + return true; + } + }); + should.exist(event); + return event; +} + function inLogs (logs, eventName, eventArgs = {}) { const event = logs.find(function (e) { if (e.event === eventName) { @@ -22,8 +35,11 @@ async function inTransaction (tx, eventName, eventArgs = {}) { } function contains (args, key, value) { - if (isBigNumber(args[key])) { - args[key].should.be.bignumber.equal(value); + if (args[key] == null) { + value.should.be.equal("0x00"); + } + else if (isBigNumber(args[key])) { + args[key].toString().should.be.equal(value); } else { args[key].should.be.equal(value); } @@ -36,6 +52,7 @@ function isBigNumber (object) { } module.exports = { + inEvents, inLogs, inTransaction, };