Skip to content

Commit

Permalink
fix init tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dcbuild3r committed Aug 25, 2023
1 parent 45d97ba commit abc2da2
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

import {UUPSUpgradeable} from "contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";

import {WorldIDIdentityManagerTest} from "./WorldIDIdentityManagerTest.sol";

import {WorldIDIdentityManager as IdentityManager} from "../../WorldIDIdentityManager.sol";
Expand All @@ -21,8 +23,9 @@ contract WorldIDIdentityManagerInitialization is WorldIDIdentityManagerTest {
// Setup
delete identityManager;
delete managerImpl;
delete managerImplV1;

managerImpl = new ManagerImpl();
managerImplV1 = new ManagerImplV1();
managerImplAddress = address(managerImpl);
bytes memory callData = abi.encodeCall(
ManagerImplV1.initialize,
Expand All @@ -38,8 +41,22 @@ contract WorldIDIdentityManagerInitialization is WorldIDIdentityManagerTest {
vm.expectEmit(true, true, true, true);
emit Initialized(1);

identityManager = new IdentityManager(managerImplV1Address, callData);
identityManagerAddress = address(identityManager);

// creates Manager Impl V2, which will be used for tests
managerImpl = new ManagerImpl();
managerImplAddress = address(managerImpl);

bytes memory initCallV2 = abi.encodeCall(ManagerImpl.initializeV2, (defaultDeletionVerifiers));
bytes memory upgradeCall = abi.encodeCall(
UUPSUpgradeable.upgradeToAndCall, (address(managerImplAddress), initCallV2)
);

vm.expectEmit(true, true, true, true);
emit Initialized(2);
// Test
identityManager = new IdentityManager(managerImplAddress, callData);
assertCallSucceedsOn(identityManagerAddress, upgradeCall, new bytes(0x0));
}

/// @notice Checks that it is not possible to initialise the contract more than once.
Expand All @@ -60,6 +77,16 @@ contract WorldIDIdentityManagerInitialization is WorldIDIdentityManagerTest {

// Test
assertCallFailsOn(identityManagerAddress, callData, expectedReturn);


callData = abi.encodeCall(
ManagerImpl.initializeV2,
(
defaultDeletionVerifiers
)
);

assertCallFailsOn(identityManagerAddress, callData, expectedReturn);
}

/// @notice Checks that it is impossible to initialize the delegate on its own.
Expand Down
4 changes: 0 additions & 4 deletions src/test/identity-manager/WorldIDIdentityManagerTest.sol
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,6 @@ contract WorldIDIdentityManagerTest is WorldIDTest {
treeVerifier = new SimpleVerifier(initialBatchSize);
defaultInsertVerifiers = new VerifierLookupTable();
defaultInsertVerifiers.addVerifier(initialBatchSize, treeVerifier);
defaultDeletionVerifiers = new VerifierLookupTable();
defaultDeletionVerifiers.addVerifier(initialBatchSize, treeVerifier);
defaultUpdateVerifiers = new VerifierLookupTable();
defaultUpdateVerifiers.addVerifier(initialBatchSize, treeVerifier);
makeNewIdentityManager(
treeDepth,
initialRoot,
Expand Down

0 comments on commit abc2da2

Please sign in to comment.