LimitBalance.test.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import assertRevert from './helpers/assertRevert';
  2. var LimitBalanceMock = artifacts.require('mocks/LimitBalanceMock.sol');
  3. contract('LimitBalance', function (accounts) {
  4. let lb;
  5. beforeEach(async function () {
  6. lb = await LimitBalanceMock.new();
  7. });
  8. let LIMIT = 1000;
  9. it('should expose limit', async function () {
  10. let limit = await lb.limit();
  11. assert.equal(limit, LIMIT);
  12. });
  13. it('should allow sending below limit', async function () {
  14. let amount = 1;
  15. await lb.limitedDeposit({ value: amount });
  16. assert.equal(web3.eth.getBalance(lb.address), amount);
  17. });
  18. it('shouldnt allow sending above limit', async function () {
  19. let amount = 1110;
  20. await assertRevert(lb.limitedDeposit({ value: amount }));
  21. });
  22. it('should allow multiple sends below limit', async function () {
  23. let amount = 500;
  24. await lb.limitedDeposit({ value: amount });
  25. assert.equal(web3.eth.getBalance(lb.address), amount);
  26. await lb.limitedDeposit({ value: amount });
  27. assert.equal(web3.eth.getBalance(lb.address), amount * 2);
  28. });
  29. it('shouldnt allow multiple sends above limit', async function () {
  30. let amount = 500;
  31. await lb.limitedDeposit({ value: amount });
  32. assert.equal(web3.eth.getBalance(lb.address), amount);
  33. await assertRevert(lb.limitedDeposit({ value: amount + 1 }));
  34. });
  35. });