1234567891011121314151617181920212223242526272829303132333435363738 |
- const EVMRevert = require('./helpers/EVMRevert.js');
- const BurnableTokenMock = artifacts.require('mocks/BurnableTokenMock.sol');
- const BigNumber = web3.BigNumber;
- require('chai')
- .use(require('chai-as-promised'))
- .use(require('chai-bignumber')(BigNumber))
- .should();
- const expect = require('chai').expect;
- contract('BurnableToken', function (accounts) {
- let token;
- let expectedTokenSupply = new BigNumber(999);
- beforeEach(async function () {
- token = await BurnableTokenMock.new(accounts[0], 1000);
- });
- it('owner should be able to burn tokens', async function () {
- const { logs } = await token.burn(1, { from: accounts[0] });
- const balance = await token.balanceOf(accounts[0]);
- balance.should.be.bignumber.equal(expectedTokenSupply);
- const totalSupply = await token.totalSupply();
- totalSupply.should.be.bignumber.equal(expectedTokenSupply);
- const event = logs.find(e => e.event === 'Burn');
- expect(event).to.exist;
- });
- it('cannot burn more tokens than your balance', async function () {
- await token.burn(2000, { from: accounts[0] })
- .should.be.rejectedWith(EVMRevert);
- });
- });
|