Add missing hook to ERC777, fix relevant documentation (#2191)
* Improve ERC20/721 Pausable docs * Add ERC20Pausable mint and burn tests * Add ERC721Pausable mint and burn tests * Add _beforeTransfer hook in ERC777 to mint and burn
This commit is contained in:
@ -78,5 +78,59 @@ describe('ERC20Pausable', function () {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('mint', function () {
|
||||
const amount = new BN('42');
|
||||
|
||||
it('allows to mint when unpaused', async function () {
|
||||
await this.token.mint(recipient, amount);
|
||||
|
||||
expect(await this.token.balanceOf(recipient)).to.be.bignumber.equal(amount);
|
||||
});
|
||||
|
||||
it('allows to mint when paused and then unpaused', async function () {
|
||||
await this.token.pause();
|
||||
await this.token.unpause();
|
||||
|
||||
await this.token.mint(recipient, amount);
|
||||
|
||||
expect(await this.token.balanceOf(recipient)).to.be.bignumber.equal(amount);
|
||||
});
|
||||
|
||||
it('reverts when trying to mint when paused', async function () {
|
||||
await this.token.pause();
|
||||
|
||||
await expectRevert(this.token.mint(recipient, amount),
|
||||
'ERC20Pausable: token transfer while paused'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('burn', function () {
|
||||
const amount = new BN('42');
|
||||
|
||||
it('allows to burn when unpaused', async function () {
|
||||
await this.token.burn(holder, amount);
|
||||
|
||||
expect(await this.token.balanceOf(holder)).to.be.bignumber.equal(initialSupply.sub(amount));
|
||||
});
|
||||
|
||||
it('allows to burn when paused and then unpaused', async function () {
|
||||
await this.token.pause();
|
||||
await this.token.unpause();
|
||||
|
||||
await this.token.burn(holder, amount);
|
||||
|
||||
expect(await this.token.balanceOf(holder)).to.be.bignumber.equal(initialSupply.sub(amount));
|
||||
});
|
||||
|
||||
it('reverts when trying to burn when paused', async function () {
|
||||
await this.token.pause();
|
||||
|
||||
await expectRevert(this.token.burn(holder, amount),
|
||||
'ERC20Pausable: token transfer while paused'
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -19,7 +19,8 @@ describe('ERC721Pausable', function () {
|
||||
|
||||
context('when token is paused', function () {
|
||||
const firstTokenId = new BN(1);
|
||||
const mintedTokens = new BN(1);
|
||||
const secondTokenId = new BN(1337);
|
||||
|
||||
const mockData = '0x42';
|
||||
|
||||
beforeEach(async function () {
|
||||
@ -49,6 +50,20 @@ describe('ERC721Pausable', function () {
|
||||
);
|
||||
});
|
||||
|
||||
it('reverts when trying to mint', async function () {
|
||||
await expectRevert(
|
||||
this.token.mint(receiver, secondTokenId),
|
||||
'ERC721Pausable: token transfer while paused'
|
||||
);
|
||||
});
|
||||
|
||||
it('reverts when trying to burn', async function () {
|
||||
await expectRevert(
|
||||
this.token.burn(firstTokenId),
|
||||
'ERC721Pausable: token transfer while paused'
|
||||
);
|
||||
});
|
||||
|
||||
describe('getApproved', function () {
|
||||
it('returns approved address', async function () {
|
||||
const approvedAccount = await this.token.getApproved(firstTokenId);
|
||||
@ -59,7 +74,7 @@ describe('ERC721Pausable', function () {
|
||||
describe('balanceOf', function () {
|
||||
it('returns the amount of tokens owned by the given address', async function () {
|
||||
const balance = await this.token.balanceOf(owner);
|
||||
expect(balance).to.be.bignumber.equal(mintedTokens);
|
||||
expect(balance).to.be.bignumber.equal('1');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user