AccessControlDefaultAdminRules.test.js 1.1 KB

123456789101112131415161718192021222324252627282930
  1. const { ethers } = require('hardhat');
  2. const { loadFixture } = require('@nomicfoundation/hardhat-network-helpers');
  3. const { bigint: time } = require('../../helpers/time');
  4. const {
  5. shouldBehaveLikeAccessControl,
  6. shouldBehaveLikeAccessControlDefaultAdminRules,
  7. } = require('../AccessControl.behavior.js');
  8. async function fixture() {
  9. const delay = time.duration.hours(10);
  10. const [defaultAdmin, ...accounts] = await ethers.getSigners();
  11. const mock = await ethers.deployContract('$AccessControlDefaultAdminRules', [delay, defaultAdmin]);
  12. return { mock, defaultAdmin, delay, accounts };
  13. }
  14. describe('AccessControlDefaultAdminRules', function () {
  15. beforeEach(async function () {
  16. Object.assign(this, await loadFixture(fixture));
  17. });
  18. it('initial admin not zero', async function () {
  19. await expect(ethers.deployContract('$AccessControlDefaultAdminRules', [this.delay, ethers.ZeroAddress]))
  20. .to.be.revertedWithCustomError(this.mock, 'AccessControlInvalidDefaultAdmin')
  21. .withArgs(ethers.ZeroAddress);
  22. });
  23. shouldBehaveLikeAccessControl();
  24. shouldBehaveLikeAccessControlDefaultAdminRules();
  25. });