AccessControlDefaultAdminRules.test.js 1.1 KB

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