mirror of openzeppelin-contracts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openzeppelin-contracts/test/PausableToken.test.js

64 lines
1.9 KiB

'user strict';
import assertRevert from './helpers/assertRevert';
var PausableTokenMock = artifacts.require('./mocks/PausableTokenMock.sol');
contract('PausableToken', function (accounts) {
let token;
beforeEach(async function () {
token = await PausableTokenMock.new(accounts[0], 100);
});
it('should return paused false after construction', async function () {
let paused = await token.paused();
assert.equal(paused, false);
});
it('should return paused true after pause', async function () {
await token.pause();
let paused = await token.paused();
assert.equal(paused, true);
});
it('should return paused false after pause and unpause', async function () {
await token.pause();
await token.unpause();
let paused = await token.paused();
assert.equal(paused, false);
});
it('should be able to transfer if transfers are unpaused', async function () {
await token.transfer(accounts[1], 100);
let balance0 = await token.balanceOf(accounts[0]);
assert.equal(balance0, 0);
let balance1 = await token.balanceOf(accounts[1]);
assert.equal(balance1, 100);
});
it('should be able to transfer after transfers are paused and unpaused', async function () {
await token.pause();
await token.unpause();
await token.transfer(accounts[1], 100);
let balance0 = await token.balanceOf(accounts[0]);
assert.equal(balance0, 0);
let balance1 = await token.balanceOf(accounts[1]);
assert.equal(balance1, 100);
});
it('should throw an error trying to transfer while transactions are paused', async function () {
await token.pause();
await assertRevert(token.transfer(accounts[1], 100));
});
it('should throw an error trying to transfer from another account while transactions are paused', async function () {
await token.pause();
await assertRevert(token.transferFrom(accounts[0], accounts[1], 100));
});
});