12345678910111213141516171819202122232425262728293031323334353637383940 |
- const { expectThrow } = require('../helpers/expectThrow');
- const CanReclaimToken = artifacts.require('CanReclaimToken');
- const StandardTokenMock = artifacts.require('StandardTokenMock');
- const BigNumber = web3.BigNumber;
- require('chai')
- .use(require('chai-bignumber')(BigNumber))
- .should();
- contract('CanReclaimToken', function ([_, owner, anyone]) {
- let token = null;
- let canReclaimToken = null;
- beforeEach(async function () {
- // Create contract and token
- token = await StandardTokenMock.new(owner, 100, { from: owner });
- canReclaimToken = await CanReclaimToken.new({ from: owner });
- // Force token into contract
- await token.transfer(canReclaimToken.address, 10, { from: owner });
- (await token.balanceOf(canReclaimToken.address)).should.be.bignumber.equal(10);
- });
- it('should allow owner to reclaim tokens', async function () {
- const ownerStartBalance = await token.balanceOf(owner);
- await canReclaimToken.reclaimToken(token.address, { from: owner });
- const ownerFinalBalance = await token.balanceOf(owner);
- ownerFinalBalance.sub(ownerStartBalance).should.be.bignumber.equal(10);
- (await token.balanceOf(canReclaimToken.address)).should.be.bignumber.equal(0);
- });
- it('should allow only owner to reclaim tokens', async function () {
- await expectThrow(
- canReclaimToken.reclaimToken(token.address, { from: anyone })
- );
- });
- });
|