123456789101112131415161718192021222324252627282930313233343536373839404142 |
- const { BN, constants, expectEvent } = require('@openzeppelin/test-helpers');
- const { ZERO_ADDRESS } = constants;
- const { expect } = require('chai');
- const ERC20PresetFixedSupply = artifacts.require('ERC20PresetFixedSupply');
- contract('ERC20PresetFixedSupply', function (accounts) {
- const [deployer, owner] = accounts;
- const name = 'PresetFixedSupply';
- const symbol = 'PFS';
- const initialSupply = new BN('50000');
- const amount = new BN('10000');
- before(async function () {
- this.token = await ERC20PresetFixedSupply.new(name, symbol, initialSupply, owner, { from: deployer });
- });
- it('deployer has the balance equal to initial supply', async function () {
- expect(await this.token.balanceOf(owner)).to.be.bignumber.equal(initialSupply);
- });
- it('total supply is equal to initial supply', async function () {
- expect(await this.token.totalSupply()).to.be.bignumber.equal(initialSupply);
- });
- describe('burning', function () {
- it('holders can burn their tokens', async function () {
- const remainingBalance = initialSupply.sub(amount);
- const receipt = await this.token.burn(amount, { from: owner });
- expectEvent(receipt, 'Transfer', { from: owner, to: ZERO_ADDRESS, value: amount });
- expect(await this.token.balanceOf(owner)).to.be.bignumber.equal(remainingBalance);
- });
- it('decrements totalSupply', async function () {
- const expectedSupply = initialSupply.sub(amount);
- expect(await this.token.totalSupply()).to.be.bignumber.equal(expectedSupply);
- });
- });
- });
|