Migrate `AccessControl` tests (#4694)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>pull/4707/head
parent
7c8b7a2728
commit
2ec2ed9695
File diff suppressed because it is too large
Load Diff
@ -1,12 +1,19 @@ |
|||||||
|
const { ethers } = require('hardhat'); |
||||||
|
const { loadFixture } = require('@nomicfoundation/hardhat-network-helpers'); |
||||||
|
|
||||||
const { DEFAULT_ADMIN_ROLE, shouldBehaveLikeAccessControl } = require('./AccessControl.behavior.js'); |
const { DEFAULT_ADMIN_ROLE, shouldBehaveLikeAccessControl } = require('./AccessControl.behavior.js'); |
||||||
|
|
||||||
const AccessControl = artifacts.require('$AccessControl'); |
async function fixture() { |
||||||
|
const [defaultAdmin, ...accounts] = await ethers.getSigners(); |
||||||
|
const mock = await ethers.deployContract('$AccessControl'); |
||||||
|
await mock.$_grantRole(DEFAULT_ADMIN_ROLE, defaultAdmin); |
||||||
|
return { mock, defaultAdmin, accounts }; |
||||||
|
} |
||||||
|
|
||||||
contract('AccessControl', function (accounts) { |
describe('AccessControl', function () { |
||||||
beforeEach(async function () { |
beforeEach(async function () { |
||||||
this.accessControl = await AccessControl.new({ from: accounts[0] }); |
Object.assign(this, await loadFixture(fixture)); |
||||||
await this.accessControl.$_grantRole(DEFAULT_ADMIN_ROLE, accounts[0]); |
|
||||||
}); |
}); |
||||||
|
|
||||||
shouldBehaveLikeAccessControl(...accounts); |
shouldBehaveLikeAccessControl(); |
||||||
}); |
}); |
||||||
|
@ -1,26 +1,30 @@ |
|||||||
const { time, constants, expectRevert } = require('@openzeppelin/test-helpers'); |
const { ethers } = require('hardhat'); |
||||||
|
const { loadFixture } = require('@nomicfoundation/hardhat-network-helpers'); |
||||||
|
const { bigint: time } = require('../../helpers/time'); |
||||||
|
|
||||||
const { |
const { |
||||||
shouldBehaveLikeAccessControl, |
shouldBehaveLikeAccessControl, |
||||||
shouldBehaveLikeAccessControlDefaultAdminRules, |
shouldBehaveLikeAccessControlDefaultAdminRules, |
||||||
} = require('../AccessControl.behavior.js'); |
} = require('../AccessControl.behavior.js'); |
||||||
|
|
||||||
const AccessControlDefaultAdminRules = artifacts.require('$AccessControlDefaultAdminRules'); |
async function fixture() { |
||||||
|
const delay = time.duration.hours(10); |
||||||
contract('AccessControlDefaultAdminRules', function (accounts) { |
const [defaultAdmin, ...accounts] = await ethers.getSigners(); |
||||||
const delay = web3.utils.toBN(time.duration.hours(10)); |
const mock = await ethers.deployContract('$AccessControlDefaultAdminRules', [delay, defaultAdmin]); |
||||||
|
return { mock, defaultAdmin, delay, accounts }; |
||||||
|
} |
||||||
|
|
||||||
|
describe('AccessControlDefaultAdminRules', function () { |
||||||
beforeEach(async function () { |
beforeEach(async function () { |
||||||
this.accessControl = await AccessControlDefaultAdminRules.new(delay, accounts[0], { from: accounts[0] }); |
Object.assign(this, await loadFixture(fixture)); |
||||||
}); |
}); |
||||||
|
|
||||||
it('initial admin not zero', async function () { |
it('initial admin not zero', async function () { |
||||||
await expectRevert( |
await expect(ethers.deployContract('$AccessControlDefaultAdminRules', [this.delay, ethers.ZeroAddress])) |
||||||
AccessControlDefaultAdminRules.new(delay, constants.ZERO_ADDRESS), |
.to.be.revertedWithCustomError(this.mock, 'AccessControlInvalidDefaultAdmin') |
||||||
'AccessControlInvalidDefaultAdmin', |
.withArgs(ethers.ZeroAddress); |
||||||
[constants.ZERO_ADDRESS], |
|
||||||
); |
|
||||||
}); |
}); |
||||||
|
|
||||||
shouldBehaveLikeAccessControl(...accounts); |
shouldBehaveLikeAccessControl(); |
||||||
shouldBehaveLikeAccessControlDefaultAdminRules(delay, ...accounts); |
shouldBehaveLikeAccessControlDefaultAdminRules(); |
||||||
}); |
}); |
||||||
|
@ -1,17 +1,24 @@ |
|||||||
|
const { ethers } = require('hardhat'); |
||||||
|
const { loadFixture } = require('@nomicfoundation/hardhat-network-helpers'); |
||||||
|
|
||||||
const { |
const { |
||||||
DEFAULT_ADMIN_ROLE, |
DEFAULT_ADMIN_ROLE, |
||||||
shouldBehaveLikeAccessControl, |
shouldBehaveLikeAccessControl, |
||||||
shouldBehaveLikeAccessControlEnumerable, |
shouldBehaveLikeAccessControlEnumerable, |
||||||
} = require('../AccessControl.behavior.js'); |
} = require('../AccessControl.behavior.js'); |
||||||
|
|
||||||
const AccessControlEnumerable = artifacts.require('$AccessControlEnumerable'); |
async function fixture() { |
||||||
|
const [defaultAdmin, ...accounts] = await ethers.getSigners(); |
||||||
|
const mock = await ethers.deployContract('$AccessControlEnumerable'); |
||||||
|
await mock.$_grantRole(DEFAULT_ADMIN_ROLE, defaultAdmin); |
||||||
|
return { mock, defaultAdmin, accounts }; |
||||||
|
} |
||||||
|
|
||||||
contract('AccessControlEnumerable', function (accounts) { |
describe('AccessControlEnumerable', function () { |
||||||
beforeEach(async function () { |
beforeEach(async function () { |
||||||
this.accessControl = await AccessControlEnumerable.new({ from: accounts[0] }); |
Object.assign(this, await loadFixture(fixture)); |
||||||
await this.accessControl.$_grantRole(DEFAULT_ADMIN_ROLE, accounts[0]); |
|
||||||
}); |
}); |
||||||
|
|
||||||
shouldBehaveLikeAccessControl(...accounts); |
shouldBehaveLikeAccessControl(); |
||||||
shouldBehaveLikeAccessControlEnumerable(...accounts); |
shouldBehaveLikeAccessControlEnumerable(); |
||||||
}); |
}); |
||||||
|
Loading…
Reference in new issue