123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- contract('LimitBalance', function(accounts) {
- let lb;
- beforeEach(async function(done) {
- lb = await LimitBalanceMock.new();
- done();
- });
- let LIMIT = 1000;
- it("should expose limit", async function(done) {
- let limit = await lb.limit();
- assert.equal(limit, LIMIT);
- done();
- });
- it("should allow sending below limit", async function(done) {
- let amount = 1;
- let limDeposit = await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount);
- done();
- });
- it("shouldnt allow sending above limit", async function(done) {
- let amount = 1110;
- try {
- let limDeposit = await lb.limitedDeposit({value: amount});
- } catch(error) {
- if (error.message.search('invalid JUMP') == -1) throw error
- assert.isAbove(error.message.search('invalid JUMP'), -1, 'Invalid JUMP error must be returned');
- done();
- }
- });
- it("should allow multiple sends below limit", async function(done) {
- let amount = 500;
- let limDeposit = await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount);
- let limDeposit2 = await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount*2);
- done();
- });
- it("shouldnt allow multiple sends above limit", async function(done) {
- let amount = 500;
- let limDeposit = await lb.limitedDeposit({value: amount});
- assert.equal(web3.eth.getBalance(lb.address), amount);
- try {
- await lb.limitedDeposit({value: amount+1})
- } catch(error) {
- if (error.message.search('invalid JUMP') == -1) throw error
- assert.isAbove(error.message.search('invalid JUMP'), -1, 'Invalid JUMP error must be returned');
- done();
- }
- });
- });
|