Testing for Solidity events

We briefly touched on testing for events but we did not get into much detail. Now is the time.

Events are a great way to let the client (frontend) know what has happened, and they're great for providing metadata about a transaction or public function invocation of your Solidity smart contract. Along with testing the state modifications of a transaction, return value of a view function, and modifiers, we can also test whether an event was emitted with the appropriate metadata.

Right now, our TaskMaster contract has no events. Let's quickly add one.

Inside the TaskMaster.sol file, underneath the state variable declarations and before the constructor, add the following line of code:

event LogRecipientRewarded(address ...

Get Truffle Quick Start Guide now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.