const EventTest = artifacts.require('EventTest') const truffleAssert = require('truffle-assertions') contract('Test EventTest Contract', async function (accounts) { let eventInstance before(function () { console.log(`Using Accounts (${accounts.length}): \n${accounts.join('\n')}`) console.log('==========================\n') }) it('should deploy EventTest contract', async function () { eventInstance = await EventTest.new() console.log(`Deployed EventTest at: ${eventInstance.address}`) expect(eventInstance.address).not.to.be.undefined }) it('should emit events', async function () { const tx = await eventInstance.storeWithEvent(888) truffleAssert.eventEmitted(tx, 'ValueStored1', events => { return events['0'].toString() === '888' }) truffleAssert.eventEmitted(tx, 'ValueStored2', events => { return events['0'].toString() === 'TestMsg' && events['1'].toString() === '888' }) truffleAssert.eventEmitted(tx, 'ValueStored3', events => { return events['0'].toString() === 'TestMsg' && events['1'].toString() === '888' && events['2'].toString() === '888' }) }) })