Simplify Initializable (#3450)

This commit is contained in:
Francisco Giordano
2022-06-03 16:30:50 -03:00
committed by GitHub
parent 113443470c
commit d506e3b1a5
6 changed files with 61 additions and 31 deletions

View File

@ -6,6 +6,9 @@ const ConstructorInitializableMock = artifacts.require('ConstructorInitializable
const ChildConstructorInitializableMock = artifacts.require('ChildConstructorInitializableMock');
const ReinitializerMock = artifacts.require('ReinitializerMock');
const SampleChild = artifacts.require('SampleChild');
const DisableBad1 = artifacts.require('DisableBad1');
const DisableBad2 = artifacts.require('DisableBad2');
const DisableOk = artifacts.require('DisableOk');
contract('Initializable', function (accounts) {
describe('basic testing without inheritance', function () {
@ -184,4 +187,17 @@ contract('Initializable', function (accounts) {
expect(await this.contract.child()).to.be.bignumber.equal(child);
});
});
describe('disabling initialization', function () {
it('old and new patterns in bad sequence', async function () {
await expectRevert(DisableBad1.new(), 'Initializable: contract is already initialized');
await expectRevert(DisableBad2.new(), 'Initializable: contract is initializing');
});
it('old and new patterns in good sequence', async function () {
const ok = await DisableOk.new();
await expectEvent.inConstruction(ok, 'Initialized', { version: '1' });
await expectEvent.inConstruction(ok, 'Initialized', { version: '255' });
});
});
});