protocol icon indicating copy to clipboard operation
protocol copied to clipboard

Create global chai setup

Open RiccardoBiosas opened this issue 3 years ago • 1 comments

Context Currently chai is directly imported on each test file, where it is then attached to the ethereum-waffle's solidity chai matcher (i.e.: here). Furthermore, there are occurrences where it uses different assertion styles (i.e.: here and here).

TODO

  • Create a global chai setup in its own separate file
  • Replace ethereum-waffle with chai-ethers: the ethereum-waffle library is much broader in its scope than chai-ethers which, similarly to ethereum-waffle's solidity, only provides chai matchers to deal with ethereum testing. Removing ethereum-waffle will prevent potential misuse in the future should anyone use it for anything else other than attaching its matchers to chai.
  • Enforce a consistent assertion style: since it seems that the most used construct is expect, we should remove all the occurrences of assert
  • add expectThrow and expectFail as custom assertions in the custom chai setup

Related to https://github.com/livepeer/protocol/issues/566

RiccardoBiosas avatar May 16 '22 12:05 RiccardoBiosas

TBD on whether we want to remove ethereum-waffle - might not be a big deal to leave it. The person working on this should make sure to consider this and get feedback before making a decision.

yondonfu avatar May 17 '22 13:05 yondonfu