12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 'use strict';
- var LimitBalanceMock = artifacts.require('helpers/LimitBalanceMock.sol');
- const assertJump = require('./helpers/assertJump');
- contract('LimitBalance', function(accounts) {
- let lb;
- beforeEach(async function() {
- lb = await LimitBalanceMock.new();
- });
- let LIMIT = 1000;
- it('should expose limit', async function() {
- let limit = await lb.limit();
- assert.equal(limit, LIMIT);
- });
- it('should allow sending below limit', async function() {
- let amount = 1;
- await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount);
- });
- it('shouldnt allow sending above limit', async function() {
- let amount = 1110;
- try {
- await lb.limitedDeposit({value: amount});
- assert.fail('should have thrown before');
- } catch(error) {
- assertJump(error);
- }
- });
- it('should allow multiple sends below limit', async function() {
- let amount = 500;
- await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount);
- await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount*2);
- });
- it('shouldnt allow multiple sends above limit', async function() {
- let amount = 500;
- await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount);
- try {
- await lb.limitedDeposit({value: amount+1});
- assert.fail('should have thrown before');
- } catch(error) {
- assertJump(error);
- }
- });
- });
|