Added message string for require() (#1704)
* Error handling in ERC20 and ERC721 * Added message string for require. * Fixed solhint errors. * Updated PR as per issue #1709 * changes as per #1709 and openzeppelin forum. * Changes in require statement * Changes in require statement * build pipeline fix * Changes as per @nventuro's comment. * Update revert reason strings. * Fianal update of revert reason strings. * WIP: Updating reason strings in test cases * WIP: Added changes to ERC20 and ERC721 * Fixes linting errors in *.tes.js files * Achieved 100% code coverage * Updated the test cases with shouldFail.reverting.withMessage() * Fix package-lock. * address review comments * fix linter issues * fix remaining revert reasons
This commit is contained in:
committed by
Nicolás Venturo
parent
4a0a67b04c
commit
3682c6575c
@ -39,7 +39,9 @@ function shouldBehaveLikePublicRole (authorized, otherAuthorized, [other], rolen
|
||||
}
|
||||
|
||||
it('reverts when querying roles for the null account', async function () {
|
||||
await shouldFail.reverting(this.contract[`is${rolename}`](ZERO_ADDRESS));
|
||||
await shouldFail.reverting.withMessage(this.contract[`is${rolename}`](ZERO_ADDRESS),
|
||||
'Roles: account is the zero address'
|
||||
);
|
||||
});
|
||||
|
||||
describe('access control', function () {
|
||||
@ -55,7 +57,9 @@ function shouldBehaveLikePublicRole (authorized, otherAuthorized, [other], rolen
|
||||
const from = other;
|
||||
|
||||
it('reverts', async function () {
|
||||
await shouldFail.reverting(this.contract[`only${rolename}Mock`]({ from }));
|
||||
await shouldFail.reverting.withMessage(this.contract[`only${rolename}Mock`]({ from }),
|
||||
`${rolename}Role: caller does not have the ${rolename} role`
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -75,11 +79,15 @@ function shouldBehaveLikePublicRole (authorized, otherAuthorized, [other], rolen
|
||||
});
|
||||
|
||||
it('reverts when adding role to an already assigned account', async function () {
|
||||
await shouldFail.reverting(this.contract[`add${rolename}`](authorized, { from }));
|
||||
await shouldFail.reverting.withMessage(this.contract[`add${rolename}`](authorized, { from }),
|
||||
'Roles: account already has role'
|
||||
);
|
||||
});
|
||||
|
||||
it('reverts when adding role to the null account', async function () {
|
||||
await shouldFail.reverting(this.contract[`add${rolename}`](ZERO_ADDRESS, { from }));
|
||||
await shouldFail.reverting.withMessage(this.contract[`add${rolename}`](ZERO_ADDRESS, { from }),
|
||||
'Roles: account is the zero address'
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -101,11 +109,15 @@ function shouldBehaveLikePublicRole (authorized, otherAuthorized, [other], rolen
|
||||
});
|
||||
|
||||
it('reverts when removing from an unassigned account', async function () {
|
||||
await shouldFail.reverting(this.contract[`remove${rolename}`](other, { from }));
|
||||
await shouldFail.reverting.withMessage(this.contract[`remove${rolename}`](other, { from }),
|
||||
'Roles: account does not have role'
|
||||
);
|
||||
});
|
||||
|
||||
it('reverts when removing role from the null account', async function () {
|
||||
await shouldFail.reverting(this.contract[`remove${rolename}`](ZERO_ADDRESS, { from }));
|
||||
await shouldFail.reverting.withMessage(this.contract[`remove${rolename}`](ZERO_ADDRESS, { from }),
|
||||
'Roles: account is the zero address'
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -122,7 +134,9 @@ function shouldBehaveLikePublicRole (authorized, otherAuthorized, [other], rolen
|
||||
});
|
||||
|
||||
it('reverts when renouncing unassigned role', async function () {
|
||||
await shouldFail.reverting(this.contract[`renounce${rolename}`]({ from: other }));
|
||||
await shouldFail.reverting.withMessage(this.contract[`renounce${rolename}`]({ from: other }),
|
||||
'Roles: account does not have role'
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user