|
@@ -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 });
|