Improve role behavior tests (#1300)
* The public role behavior now also tests the modifer. * Fixed linter error.
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
const { assertRevert } = require('../../helpers/assertRevert');
|
||||
const expectEvent = require('../../helpers/expectEvent');
|
||||
|
||||
require('chai')
|
||||
@ -18,6 +19,24 @@ function shouldBehaveLikePublicRole (authorized, otherAuthorized, [anyone], role
|
||||
(await this.contract[`is${rolename}`](anyone)).should.equal(false);
|
||||
});
|
||||
|
||||
describe('access control', function () {
|
||||
context('from authorized account', function () {
|
||||
const from = authorized;
|
||||
|
||||
it('allows access', async function () {
|
||||
await this.contract[`only${rolename}Mock`]({ from });
|
||||
});
|
||||
});
|
||||
|
||||
context('from unauthorized account', function () {
|
||||
const from = anyone;
|
||||
|
||||
it('reverts', async function () {
|
||||
await assertRevert(this.contract[`only${rolename}Mock`]({ from }));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('add', function () {
|
||||
it('adds role to a new account', async function () {
|
||||
await this.contract[`add${rolename}`](anyone, { from: authorized });
|
||||
|
||||
Reference in New Issue
Block a user