refactor HasNoTokens.sol
This commit is contained in:
35
test/CanReclaimToken.js
Normal file
35
test/CanReclaimToken.js
Normal file
@ -0,0 +1,35 @@
|
||||
'use strict';
|
||||
import expectThrow from './helpers/expectThrow';
|
||||
import toPromise from './helpers/toPromise';
|
||||
const CanReclaimToken = artifacts.require('../contracts/ownership/CanReclaimToken.sol');
|
||||
const BasicTokenMock = artifacts.require("./helpers/BasicTokenMock.sol");
|
||||
|
||||
contract('CanReclaimToken', function(accounts) {
|
||||
let token = null;
|
||||
let canReclaimToken = null;
|
||||
|
||||
beforeEach(async () => {
|
||||
// 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]}),
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user