Browse Source

Add Capped Token tests

Chris Whinfrey 8 years ago
parent
commit
575372f660
1 changed files with 39 additions and 0 deletions
  1. 39 0
      test/CappedToken.js

+ 39 - 0
test/CappedToken.js

@@ -0,0 +1,39 @@
+'use strict';
+
+import expectThrow from './helpers/expectThrow';
+import ether from './helpers/ether';
+var CappedToken = artifacts.require('../contracts/Tokens/CappedToken.sol');
+
+const BigNumber = web3.BigNumber
+
+contract('Capped', function(accounts) {
+  const cap = ether(1000);
+
+  let token;
+
+  beforeEach(async function() {
+    token = await CappedToken.new(cap);
+  })
+
+  it('should start with the correct cap', async function() {
+    let _cap = await token.cap();
+
+    assert.equal(cap.toNumber(), _cap.toNumber());
+  })
+
+  it('should mint when amount does amount does not exceed the cap', async function() {
+    const result = await token.mint(accounts[0], 100);
+    assert.equal(result.logs[0].event, 'Mint');
+  })
+
+  it('should fail to mint if the ammount exceeds the cap', async function() {
+    await token.mint(accounts[0], cap.sub(1));
+    await expectThrow(token.mint(accounts[0], 100));
+  })
+
+  it('should fail to mint after cap is reached', async function() {
+    await token.mint(accounts[0], cap);
+    await expectThrow(token.mint(accounts[0], 1));
+  })
+
+});