Browse Source

Test setup helper added (#1482)

* signing prefix added

* Minor improvement

* Tests changed

* Successfully tested

* Minor improvements

* Minor improvements

* Revert "Dangling commas are now required. (#1359)"

This reverts commit a6889776f46adca374b6ebf014aa7b0038112a9d.

* updates

* fixes #1404

* approve failing test

* suggested changes done

* ISafeERC20 removed

* conflict fixes

* fixes #1205

* minor change

* suggested changes

* reviewed changes

* final update
Aniket 6 years ago
parent
commit
70fd243e3b
56 changed files with 65 additions and 227 deletions
  1. 1 2
      test/access/Roles.test.js
  2. 1 2
      test/access/roles/PublicRole.behavior.js
  3. 1 5
      test/crowdsale/AllowanceCrowdsale.test.js
  4. 1 5
      test/crowdsale/CappedCrowdsale.test.js
  5. 1 5
      test/crowdsale/Crowdsale.test.js
  6. 1 5
      test/crowdsale/FinalizableCrowdsale.test.js
  7. 1 5
      test/crowdsale/IncreasingPriceCrowdsale.test.js
  8. 1 5
      test/crowdsale/IndividuallyCappedCrowdsale.test.js
  9. 1 5
      test/crowdsale/MintedCrowdsale.behavior.js
  10. 1 1
      test/crowdsale/MintedCrowdsale.test.js
  11. 1 5
      test/crowdsale/PostDeliveryCrowdsale.test.js
  12. 1 5
      test/crowdsale/RefundableCrowdsale.test.js
  13. 1 5
      test/crowdsale/TimedCrowdsale.test.js
  14. 1 2
      test/cryptography/ECDSA.test.js
  15. 1 2
      test/cryptography/MerkleProof.test.js
  16. 1 3
      test/drafts/Counter.test.js
  17. 1 2
      test/drafts/ERC1046/TokenMetadata.test.js
  18. 1 5
      test/drafts/ERC20Migrator.test.js
  19. 1 5
      test/drafts/SignatureBouncer.test.js
  20. 1 5
      test/drafts/TokenVesting.test.js
  21. 1 5
      test/examples/SampleCrowdsale.test.js
  22. 1 5
      test/examples/SimpleToken.test.js
  23. 2 5
      test/helpers/expectEvent.js
  24. 9 0
      test/helpers/setup.js
  25. 1 2
      test/helpers/shouldFail.js
  26. 1 4
      test/helpers/test/expectEvent.test.js
  27. 1 2
      test/introspection/ERC165Checker.test.js
  28. 1 5
      test/lifecycle/Pausable.test.js
  29. 1 5
      test/math/Math.test.js
  30. 1 4
      test/math/SafeMath.test.js
  31. 1 3
      test/ownership/Ownable.behavior.js
  32. 1 2
      test/ownership/Secondary.test.js
  33. 1 5
      test/payment/PaymentSplitter.test.js
  34. 1 5
      test/payment/PullPayment.test.js
  35. 1 5
      test/payment/escrow/ConditionalEscrow.test.js
  36. 1 5
      test/payment/escrow/Escrow.behavior.js
  37. 1 5
      test/payment/escrow/RefundEscrow.test.js
  38. 1 5
      test/token/ERC20/ERC20.test.js
  39. 1 5
      test/token/ERC20/ERC20Detailed.test.js
  40. 1 2
      test/token/ERC20/SafeERC20.test.js
  41. 1 5
      test/token/ERC20/TokenTimelock.test.js
  42. 1 5
      test/token/ERC20/behaviors/ERC20Burnable.behavior.js
  43. 1 5
      test/token/ERC20/behaviors/ERC20Capped.behavior.js
  44. 1 5
      test/token/ERC20/behaviors/ERC20Mintable.behavior.js
  45. 1 5
      test/token/ERC721/ERC721.behavior.js
  46. 1 4
      test/token/ERC721/ERC721.test.js
  47. 1 4
      test/token/ERC721/ERC721Burnable.test.js
  48. 1 4
      test/token/ERC721/ERC721Full.test.js
  49. 1 2
      test/token/ERC721/ERC721Holder.test.js
  50. 1 5
      test/token/ERC721/ERC721MintBurn.behavior.js
  51. 1 4
      test/token/ERC721/ERC721Mintable.test.js
  52. 1 4
      test/token/ERC721/ERC721Pausable.test.js
  53. 1 5
      test/token/ERC721/ERC721PausedToken.behavior.js
  54. 1 2
      test/utils/Address.test.js
  55. 1 5
      test/utils/Arrays.test.js
  56. 1 5
      test/utils/ReentrancyGuard.test.js

+ 1 - 2
test/access/Roles.test.js

@@ -3,8 +3,7 @@ const { ZERO_ADDRESS } = require('../helpers/constants');
 
 const RolesMock = artifacts.require('RolesMock');
 
-require('chai')
-  .should();
+require('./../helpers/setup');
 
 contract('Roles', function ([_, authorized, otherAuthorized, anyone]) {
   beforeEach(async function () {

+ 1 - 2
test/access/roles/PublicRole.behavior.js

@@ -2,8 +2,7 @@ const shouldFail = require('../../helpers/shouldFail');
 const { ZERO_ADDRESS } = require('../../helpers/constants');
 const expectEvent = require('../../helpers/expectEvent');
 
-require('chai')
-  .should();
+require('../../helpers/setup');
 
 function capitalize (str) {
   return str.replace(/\b\w/g, l => l.toUpperCase());

+ 1 - 5
test/crowdsale/AllowanceCrowdsale.test.js

@@ -4,11 +4,7 @@ const shouldFail = require('../helpers/shouldFail');
 const { balanceDifference } = require('../helpers/balanceDifference');
 const { ZERO_ADDRESS } = require('../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const AllowanceCrowdsaleImpl = artifacts.require('AllowanceCrowdsaleImpl');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 5
test/crowdsale/CappedCrowdsale.test.js

@@ -1,11 +1,7 @@
 const { ether } = require('../helpers/ether');
 const shouldFail = require('../helpers/shouldFail');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const CappedCrowdsaleImpl = artifacts.require('CappedCrowdsaleImpl');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 5
test/crowdsale/Crowdsale.test.js

@@ -4,11 +4,7 @@ const { balanceDifference } = require('../helpers/balanceDifference');
 const { ether } = require('../helpers/ether');
 const { ZERO_ADDRESS } = require('../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const Crowdsale = artifacts.require('CrowdsaleMock');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 5
test/crowdsale/FinalizableCrowdsale.test.js

@@ -2,11 +2,7 @@ const expectEvent = require('../helpers/expectEvent');
 const time = require('../helpers/time');
 const shouldFail = require('../helpers/shouldFail');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const FinalizableCrowdsaleImpl = artifacts.require('FinalizableCrowdsaleImpl');
 const ERC20 = artifacts.require('ERC20');

+ 1 - 5
test/crowdsale/IncreasingPriceCrowdsale.test.js

@@ -2,11 +2,7 @@ const { ether } = require('../helpers/ether');
 const time = require('../helpers/time');
 const shouldFail = require('../helpers/shouldFail');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const IncreasingPriceCrowdsaleImpl = artifacts.require('IncreasingPriceCrowdsaleImpl');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 5
test/crowdsale/IndividuallyCappedCrowdsale.test.js

@@ -1,11 +1,7 @@
 const { ether } = require('../helpers/ether');
 const shouldFail = require('../helpers/shouldFail');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const IndividuallyCappedCrowdsaleImpl = artifacts.require('IndividuallyCappedCrowdsaleImpl');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 5
test/crowdsale/MintedCrowdsale.behavior.js

@@ -1,11 +1,7 @@
 const expectEvent = require('../helpers/expectEvent');
 const { balanceDifference } = require('../helpers/balanceDifference');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 function shouldBehaveLikeMintedCrowdsale ([_, investor, wallet, purchaser], rate, value) {
   const expectedTokenAmount = rate.mul(value);

+ 1 - 1
test/crowdsale/MintedCrowdsale.test.js

@@ -2,7 +2,7 @@ const { shouldBehaveLikeMintedCrowdsale } = require('./MintedCrowdsale.behavior'
 const { ether } = require('../helpers/ether');
 const shouldFail = require('../helpers/shouldFail');
 
-const BigNumber = web3.BigNumber;
+const { BigNumber } = require('../helpers/setup');
 
 const MintedCrowdsaleImpl = artifacts.require('MintedCrowdsaleImpl');
 const ERC20Mintable = artifacts.require('ERC20Mintable');

+ 1 - 5
test/crowdsale/PostDeliveryCrowdsale.test.js

@@ -2,11 +2,7 @@ const time = require('../helpers/time');
 const shouldFail = require('../helpers/shouldFail');
 const { ether } = require('../helpers/ether');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const PostDeliveryCrowdsaleImpl = artifacts.require('PostDeliveryCrowdsaleImpl');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 5
test/crowdsale/RefundableCrowdsale.test.js

@@ -4,11 +4,7 @@ const shouldFail = require('../helpers/shouldFail');
 const time = require('../helpers/time');
 const { ethGetBalance } = require('../helpers/web3');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const RefundableCrowdsaleImpl = artifacts.require('RefundableCrowdsaleImpl');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 5
test/crowdsale/TimedCrowdsale.test.js

@@ -2,11 +2,7 @@ const { ether } = require('../helpers/ether');
 const shouldFail = require('../helpers/shouldFail');
 const time = require('../helpers/time');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const TimedCrowdsaleImpl = artifacts.require('TimedCrowdsaleImpl');
 const SimpleToken = artifacts.require('SimpleToken');

+ 1 - 2
test/cryptography/ECDSA.test.js

@@ -3,8 +3,7 @@ const shouldFail = require('../helpers/shouldFail');
 
 const ECDSAMock = artifacts.require('ECDSAMock');
 
-require('chai')
-  .should();
+require('../helpers/setup');
 
 const TEST_MESSAGE = web3.sha3('OpenZeppelin');
 const WRONG_MESSAGE = web3.sha3('Nope');

+ 1 - 2
test/cryptography/MerkleProof.test.js

@@ -3,8 +3,7 @@ const { keccak256, bufferToHex } = require('ethereumjs-util');
 
 const MerkleProofWrapper = artifacts.require('MerkleProofWrapper');
 
-require('chai')
-  .should();
+require('../helpers/setup');
 
 contract('MerkleProof', function () {
   beforeEach(async function () {

+ 1 - 3
test/drafts/Counter.test.js

@@ -1,9 +1,7 @@
 
 const CounterImpl = artifacts.require('CounterImpl');
 
-require('chai')
-  .use(require('chai-bignumber')(web3.BigNumber))
-  .should();
+require('../helpers/setup');
 
 const EXPECTED = [1, 2, 3, 4];
 const KEY1 = web3.sha3('key1');

+ 1 - 2
test/drafts/ERC1046/TokenMetadata.test.js

@@ -1,7 +1,6 @@
 const ERC20WithMetadataMock = artifacts.require('ERC20WithMetadataMock');
 
-require('chai')
-  .should();
+require('../../helpers/setup');
 
 const metadataURI = 'https://example.com';
 

+ 1 - 5
test/drafts/ERC20Migrator.test.js

@@ -5,11 +5,7 @@ const ERC20Mock = artifacts.require('ERC20Mock');
 const ERC20Mintable = artifacts.require('ERC20Mintable');
 const ERC20Migrator = artifacts.require('ERC20Migrator');
 
-const BigNumber = web3.eth.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 contract('ERC20Migrator', function ([_, owner, recipient, anotherAccount]) {
   const totalSupply = 200;

+ 1 - 5
test/drafts/SignatureBouncer.test.js

@@ -4,11 +4,7 @@ const { shouldBehaveLikePublicRole } = require('../access/roles/PublicRole.behav
 
 const SignatureBouncerMock = artifacts.require('SignatureBouncerMock');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 const UINT_VALUE = 23;
 const BYTES_VALUE = web3.toHex('test');

+ 1 - 5
test/drafts/TokenVesting.test.js

@@ -4,11 +4,7 @@ const time = require('../helpers/time');
 const { ethGetBlock } = require('../helpers/web3');
 const { ZERO_ADDRESS } = require('../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 const ERC20Mintable = artifacts.require('ERC20Mintable');
 const TokenVesting = artifacts.require('TokenVesting');

+ 1 - 5
test/examples/SampleCrowdsale.test.js

@@ -3,11 +3,7 @@ const shouldFail = require('../helpers/shouldFail');
 const time = require('../helpers/time');
 const { balanceDifference } = require('../helpers/balanceDifference');
 
-const BigNumber = web3.BigNumber;
-
-const should = require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { should, BigNumber } = require('../helpers/setup');
 
 const SampleCrowdsale = artifacts.require('SampleCrowdsale');
 const SampleCrowdsaleToken = artifacts.require('SampleCrowdsaleToken');

+ 1 - 5
test/examples/SimpleToken.test.js

@@ -2,11 +2,7 @@ const expectEvent = require('../helpers/expectEvent');
 const { ZERO_ADDRESS } = require('../helpers/constants');
 const SimpleToken = artifacts.require('SimpleToken');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 contract('SimpleToken', function ([_, creator]) {
   beforeEach(async function () {

+ 2 - 5
test/helpers/expectEvent.js

@@ -1,11 +1,8 @@
+const { should, BigNumber } = require('./setup');
+
 const SolidityEvent = require('web3/lib/web3/event.js');
 const { ethGetTransactionReceipt } = require('./web3');
 
-const BigNumber = web3.BigNumber;
-const should = require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
-
 function inLogs (logs, eventName, eventArgs = {}) {
   const event = logs.find(function (e) {
     if (e.event === eventName) {

+ 9 - 0
test/helpers/setup.js

@@ -0,0 +1,9 @@
+const chai = require('chai');
+
+const BigNumber = web3.BigNumber;
+const should = chai.use(require('chai-bignumber')(BigNumber)).should();
+
+module.exports = {
+  BigNumber,
+  should,
+};

+ 1 - 2
test/helpers/shouldFail.js

@@ -1,5 +1,4 @@
-const should = require('chai')
-  .should();
+const { should } = require('./setup');
 
 async function shouldFailWithMessage (promise, message) {
   try {

+ 1 - 4
test/helpers/test/expectEvent.test.js

@@ -4,10 +4,7 @@ const shouldFail = require('../shouldFail');
 const EventEmitter = artifacts.require('EventEmitter');
 const IndirectEventEmitter = artifacts.require('IndirectEventEmitter');
 
-const BigNumber = web3.BigNumber;
-const should = require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { should, BigNumber } = require('../../helpers/setup');
 
 describe('expectEvent', function () {
   beforeEach(async function () {

+ 1 - 2
test/introspection/ERC165Checker.test.js

@@ -9,8 +9,7 @@ const DUMMY_UNSUPPORTED_ID = '0xbaddcafe';
 const DUMMY_UNSUPPORTED_ID_2 = '0xbaadcafe';
 const DUMMY_ACCOUNT = '0x1111111111111111111111111111111111111111';
 
-require('chai')
-  .should();
+require('../helpers/setup');
 
 contract('ERC165Checker', function () {
   beforeEach(async function () {

+ 1 - 5
test/lifecycle/Pausable.test.js

@@ -4,11 +4,7 @@ const expectEvent = require('../helpers/expectEvent');
 const PausableMock = artifacts.require('PausableMock');
 const { shouldBehaveLikePublicRole } = require('../access/roles/PublicRole.behavior');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 contract('Pausable', function ([_, pauser, otherPauser, anyone, ...otherAccounts]) {
   beforeEach(async function () {

+ 1 - 5
test/math/Math.test.js

@@ -1,10 +1,6 @@
 const MathMock = artifacts.require('MathMock');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 contract('Math', function () {
   const min = 1234;

+ 1 - 4
test/math/SafeMath.test.js

@@ -1,12 +1,9 @@
 const shouldFail = require('../helpers/shouldFail');
 const { MAX_UINT256 } = require('../helpers/constants');
 
-const BigNumber = web3.BigNumber;
 const SafeMathMock = artifacts.require('SafeMathMock');
 
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../helpers/setup');
 
 contract('SafeMath', function () {
   beforeEach(async function () {

+ 1 - 3
test/ownership/Ownable.behavior.js

@@ -1,9 +1,7 @@
 const shouldFail = require('../helpers/shouldFail');
 const expectEvent = require('../helpers/expectEvent');
 const { ZERO_ADDRESS } = require('../helpers/constants');
-
-require('chai')
-  .should();
+require('./../helpers/setup');
 
 function shouldBehaveLikeOwnable (owner, [anyone]) {
   describe('as an ownable', function () {

+ 1 - 2
test/ownership/Secondary.test.js

@@ -4,8 +4,7 @@ const { ZERO_ADDRESS } = require('../helpers/constants');
 
 const SecondaryMock = artifacts.require('SecondaryMock');
 
-require('chai')
-  .should();
+require('../helpers/setup');
 
 contract('Secondary', function ([_, primary, newPrimary, anyone]) {
   beforeEach(async function () {

+ 1 - 5
test/payment/PaymentSplitter.test.js

@@ -4,11 +4,7 @@ const send = require('./../helpers/send');
 const { ether } = require('../helpers/ether');
 const { ZERO_ADDRESS } = require('./../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 const shouldFail = require('../helpers/shouldFail');
 const PaymentSplitter = artifacts.require('PaymentSplitter');

+ 1 - 5
test/payment/PullPayment.test.js

@@ -1,11 +1,7 @@
 const { balanceDifference } = require('../helpers/balanceDifference');
 const { ether } = require('../helpers/ether');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 const PullPaymentMock = artifacts.require('PullPaymentMock');
 

+ 1 - 5
test/payment/escrow/ConditionalEscrow.test.js

@@ -3,11 +3,7 @@ const { shouldBehaveLikeEscrow } = require('./Escrow.behavior');
 const shouldFail = require('../../helpers/shouldFail');
 const { ether } = require('../../helpers/ether');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 const ConditionalEscrowMock = artifacts.require('ConditionalEscrowMock');
 

+ 1 - 5
test/payment/escrow/Escrow.behavior.js

@@ -4,11 +4,7 @@ const { ethGetBalance } = require('../../helpers/web3');
 const { balanceDifference } = require('../../helpers/balanceDifference');
 const { ether } = require('../../helpers/ether');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 function shouldBehaveLikeEscrow (primary, [payee1, payee2]) {
   const amount = ether(42.0);

+ 1 - 5
test/payment/escrow/RefundEscrow.test.js

@@ -4,11 +4,7 @@ const { balanceDifference } = require('../../helpers/balanceDifference');
 const { ether } = require('../../helpers/ether');
 const { ZERO_ADDRESS } = require('../../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 const RefundEscrow = artifacts.require('RefundEscrow');
 

+ 1 - 5
test/token/ERC20/ERC20.test.js

@@ -4,11 +4,7 @@ const { ZERO_ADDRESS } = require('../../helpers/constants');
 
 const ERC20Mock = artifacts.require('ERC20Mock');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../../helpers/setup');
 
 contract('ERC20', function ([_, owner, recipient, anotherAccount]) {
   beforeEach(async function () {

+ 1 - 5
test/token/ERC20/ERC20Detailed.test.js

@@ -1,8 +1,4 @@
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 const ERC20DetailedMock = artifacts.require('ERC20DetailedMock');
 

+ 1 - 2
test/token/ERC20/SafeERC20.test.js

@@ -1,7 +1,6 @@
 const shouldFail = require('../../helpers/shouldFail');
 
-require('chai')
-  .should();
+require('../../helpers/setup');
 
 const SafeERC20Helper = artifacts.require('SafeERC20Helper');
 

+ 1 - 5
test/token/ERC20/TokenTimelock.test.js

@@ -1,11 +1,7 @@
 const shouldFail = require('../../helpers/shouldFail');
 const time = require('../../helpers/time');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+const { BigNumber } = require('../../helpers/setup');
 
 const ERC20Mintable = artifacts.require('ERC20Mintable');
 const TokenTimelock = artifacts.require('TokenTimelock');

+ 1 - 5
test/token/ERC20/behaviors/ERC20Burnable.behavior.js

@@ -2,11 +2,7 @@ const shouldFail = require('../../../helpers/shouldFail');
 const expectEvent = require('../../../helpers/expectEvent');
 const { ZERO_ADDRESS } = require('../../../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../../helpers/setup');
 
 function shouldBehaveLikeERC20Burnable (owner, initialBalance, [burner]) {
   describe('burn', function () {

+ 1 - 5
test/token/ERC20/behaviors/ERC20Capped.behavior.js

@@ -1,10 +1,6 @@
 const shouldFail = require('../../../helpers/shouldFail');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../../helpers/setup');
 
 function shouldBehaveLikeERC20Capped (minter, [anyone], cap) {
   describe('capped token', function () {

+ 1 - 5
test/token/ERC20/behaviors/ERC20Mintable.behavior.js

@@ -2,11 +2,7 @@ const shouldFail = require('../../../helpers/shouldFail');
 const expectEvent = require('../../../helpers/expectEvent');
 const { ZERO_ADDRESS } = require('../../../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../../helpers/setup');
 
 function shouldBehaveLikeERC20Mintable (minter, [anyone]) {
   describe('as a mintable token', function () {

+ 1 - 5
test/token/ERC721/ERC721.behavior.js

@@ -5,11 +5,7 @@ const { ZERO_ADDRESS } = require('../../helpers/constants');
 const send = require('../../helpers/send');
 
 const ERC721ReceiverMock = artifacts.require('ERC721ReceiverMock.sol');
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 function shouldBehaveLikeERC721 (
   creator,

+ 1 - 4
test/token/ERC721/ERC721.test.js

@@ -1,11 +1,8 @@
 const { shouldBehaveLikeERC721 } = require('./ERC721.behavior');
 
-const BigNumber = web3.BigNumber;
 const ERC721Mock = artifacts.require('ERC721Mock.sol');
 
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 contract('ERC721', function ([_, creator, ...accounts]) {
   beforeEach(async function () {

+ 1 - 4
test/token/ERC721/ERC721Burnable.test.js

@@ -3,12 +3,9 @@ const {
   shouldBehaveLikeMintAndBurnERC721,
 } = require('./ERC721MintBurn.behavior');
 
-const BigNumber = web3.BigNumber;
 const ERC721BurnableImpl = artifacts.require('ERC721MintableBurnableImpl.sol');
 
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 contract('ERC721Burnable', function ([_, creator, ...accounts]) {
   const minter = creator;

+ 1 - 4
test/token/ERC721/ERC721Full.test.js

@@ -2,12 +2,9 @@ const shouldFail = require('../../helpers/shouldFail');
 const { shouldBehaveLikeERC721 } = require('./ERC721.behavior');
 const { shouldSupportInterfaces } = require('../../introspection/SupportsInterface.behavior');
 
-const BigNumber = web3.BigNumber;
 const ERC721FullMock = artifacts.require('ERC721FullMock.sol');
 
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 contract('ERC721Full', function ([
   creator,

+ 1 - 2
test/token/ERC721/ERC721Holder.test.js

@@ -1,8 +1,7 @@
 const ERC721Holder = artifacts.require('ERC721Holder.sol');
 const ERC721Mintable = artifacts.require('ERC721MintableBurnableImpl.sol');
 
-require('chai')
-  .should();
+require('../../helpers/setup');
 
 contract('ERC721Holder', function ([creator]) {
   it('receives an ERC721 token', async function () {

+ 1 - 5
test/token/ERC721/ERC721MintBurn.behavior.js

@@ -1,11 +1,7 @@
 const shouldFail = require('../../helpers/shouldFail');
 const expectEvent = require('../../helpers/expectEvent');
 const { ZERO_ADDRESS } = require('../../helpers/constants');
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 function shouldBehaveLikeMintAndBurnERC721 (
   creator,

+ 1 - 4
test/token/ERC721/ERC721Mintable.test.js

@@ -3,12 +3,9 @@ const {
   shouldBehaveLikeMintAndBurnERC721,
 } = require('./ERC721MintBurn.behavior');
 
-const BigNumber = web3.BigNumber;
 const ERC721MintableImpl = artifacts.require('ERC721MintableBurnableImpl.sol');
 
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 contract('ERC721Mintable', function ([_, creator, ...accounts]) {
   const minter = creator;

+ 1 - 4
test/token/ERC721/ERC721Pausable.test.js

@@ -2,12 +2,9 @@ const { shouldBehaveLikeERC721PausedToken } = require('./ERC721PausedToken.behav
 const { shouldBehaveLikeERC721 } = require('./ERC721.behavior');
 const { shouldBehaveLikePublicRole } = require('../../access/roles/PublicRole.behavior');
 
-const BigNumber = web3.BigNumber;
 const ERC721PausableMock = artifacts.require('ERC721PausableMock.sol');
 
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 contract('ERC721Pausable', function ([
   _,

+ 1 - 5
test/token/ERC721/ERC721PausedToken.behavior.js

@@ -2,11 +2,7 @@ const shouldFail = require('../../helpers/shouldFail');
 const send = require('../../helpers/send');
 const { ZERO_ADDRESS } = require('../../helpers/constants');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../../helpers/setup');
 
 function shouldBehaveLikeERC721PausedToken (owner, [recipient, operator]) {
   const firstTokenId = 1;

+ 1 - 2
test/utils/Address.test.js

@@ -1,8 +1,7 @@
 const AddressImpl = artifacts.require('AddressImpl');
 const SimpleToken = artifacts.require('SimpleToken');
 
-require('chai')
-  .should();
+require('../helpers/setup');
 
 contract('Address', function ([_, anyone]) {
   beforeEach(async function () {

+ 1 - 5
test/utils/Arrays.test.js

@@ -1,10 +1,6 @@
 const ArraysImpl = artifacts.require('ArraysImpl');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 contract('Arrays', function () {
   context('Even number of elements', function () {

+ 1 - 5
test/utils/ReentrancyGuard.test.js

@@ -2,11 +2,7 @@ const shouldFail = require('../helpers/shouldFail');
 const ReentrancyMock = artifacts.require('ReentrancyMock');
 const ReentrancyAttack = artifacts.require('ReentrancyAttack');
 
-const BigNumber = web3.BigNumber;
-
-require('chai')
-  .use(require('chai-bignumber')(BigNumber))
-  .should();
+require('../helpers/setup');
 
 contract('ReentrancyGuard', function () {
   beforeEach(async function () {