1234567891011121314151617181920212223242526272829303132333435 |
- import expectThrow from './helpers/expectThrow';
- const CanReclaimToken = artifacts.require('../contracts/ownership/CanReclaimToken.sol');
- const BasicTokenMock = artifacts.require('mocks/BasicTokenMock.sol');
- contract('CanReclaimToken', function (accounts) {
- let token = null;
- let canReclaimToken = null;
- beforeEach(async function () {
- // Create contract and token
- token = await BasicTokenMock.new(accounts[0], 100);
- canReclaimToken = await CanReclaimToken.new();
- // Force token into contract
- await token.transfer(canReclaimToken.address, 10);
- const startBalance = await token.balanceOf(canReclaimToken.address);
- assert.equal(startBalance, 10);
- });
- it('should allow owner to reclaim tokens', async function () {
- const ownerStartBalance = await token.balanceOf(accounts[0]);
- await canReclaimToken.reclaimToken(token.address);
- const ownerFinalBalance = await token.balanceOf(accounts[0]);
- const finalBalance = await token.balanceOf(canReclaimToken.address);
- assert.equal(finalBalance, 0);
- assert.equal(ownerFinalBalance - ownerStartBalance, 10);
- });
- it('should allow only owner to reclaim tokens', async function () {
- await expectThrow(
- canReclaimToken.reclaimToken(token.address, { from: accounts[1] }),
- );
- });
- });
|