Skip to content

Commit

Permalink
full coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
arr00 committed Dec 26, 2023
1 parent 52cb0e0 commit badac52
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions test/crowdfund/AtomicManualParty.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -394,4 +394,63 @@ contract AtomicManualPartyTest is SetupPartyHelper {
assertEq(atomicParty.getVotingPowerAt(john, uint40(block.timestamp)), 100);
assertEq(atomicParty.getVotingPowerAt(danny, uint40(block.timestamp)), 80);
}

function test_createAtomicManualPartyWithMetadata_additionalAuthorities() public {
Party.PartyOptions memory opts;
opts.name = "PARTY";
opts.symbol = "PR-T";
opts.governance.voteDuration = 99;
opts.governance.executionDelay = _EXECUTION_DELAY;
opts.governance.passThresholdBps = 1000;
opts.governance.totalVotingPower = 180;

address[] memory partyMembers = new address[](2);
uint96[] memory partyMemberVotingPower = new uint96[](2);

partyMembers[0] = john;
partyMembers[1] = danny;

partyMemberVotingPower[0] = 100;
partyMemberVotingPower[1] = 80;

address[] memory authorities = new address[](2);
authorities[0] = _randomAddress();
authorities[1] = _randomAddress();

// Not checking address of the party
vm.expectEmit(false, true, true, true);
emit PartyCreated(
Party(payable(0)),
opts,
preciousTokens,
preciousTokenIds,
address(atomicManualParty)
);
vm.expectEmit(false, true, true, true);
emit ProviderSet(address(0), IMetadataProvider(address(0)));
Party atomicParty = atomicManualParty.createPartyWithMetadata(
Party(payable(address(Proxy(payable(address(party))).IMPL()))),
opts,
preciousTokens,
preciousTokenIds,
0,
MetadataProvider(address(0)),
"",
partyMembers,
partyMemberVotingPower,
authorities
);

// Ensure `atomicManualParty` is not an authority after creation
assertFalse(party.isAuthority(address(atomicManualParty)));
// Ensure authorities passed are authorities
assertTrue(atomicParty.isAuthority(authorities[0]));
assertTrue(atomicParty.isAuthority(authorities[1]));

assertEq(atomicParty.getGovernanceValues().totalVotingPower, 180);

// Ensure holders match input
assertEq(atomicParty.getVotingPowerAt(john, uint40(block.timestamp)), 100);
assertEq(atomicParty.getVotingPowerAt(danny, uint40(block.timestamp)), 80);
}
}

0 comments on commit badac52

Please sign in to comment.