From 5da2ac33955bbdb9c21a57b124d2f531818a9652 Mon Sep 17 00:00:00 2001 From: Maksandre Date: Wed, 05 Jun 2024 14:24:17 +0000 Subject: [PATCH] fix(tests): update test cases and resolve review comments --- --- a/js-packages/tests/sub/governance/council.test.ts +++ b/js-packages/tests/sub/governance/council.test.ts @@ -489,4 +489,21 @@ await expect(helper.council.collective.close(counselors.filip, proposalHash, proposalIndex)).to.be.rejectedWith('TooEarly'); }); + itSub('[Negative] Council can\'t veto Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(proposalFromAllCouncil(helper.democracy.vetoExternalCall(preimageHash))) + .rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council member can\'t veto Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(helper.council.collective.execute( + counselors.charu, + helper.democracy.vetoExternalCall(preimageHash), + )).rejectedWith('BadOrigin'); + }); }); --- a/js-packages/tests/sub/governance/financialCouncil.test.ts +++ b/js-packages/tests/sub/governance/financialCouncil.test.ts @@ -28,7 +28,7 @@ await clearTechComm(sudoer); }); - async function proposalFromMoreThanHalfCouncil(proposal: any) { + async function proposalFromMoreThanHalfFinCouncil(proposal: any) { return await usingPlaygrounds(async (helper) => { expect((await helper.finCouncil.membership.getMembers()).length).to.be.equal(3); const proposeResult = await helper.finCouncil.collective.propose( @@ -48,7 +48,7 @@ }); } - async function proposalFromAllCouncil(proposal: any) { + async function proposalFromAllFinCouncil(proposal: any) { return await usingPlaygrounds(async (helper) => { expect((await helper.finCouncil.membership.getMembers()).length).to.be.equal(3); const proposeResult = await helper.finCouncil.collective.propose( @@ -103,7 +103,7 @@ await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); - await expect(proposalFromAllCouncil(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0))) + await expect(proposalFromAllFinCouncil(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0))) .rejectedWith('BadOrigin'); }); @@ -121,7 +121,7 @@ const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n); const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex; - await expect(proposalFromAllCouncil(helper.democracy.cancelProposalCall(proposalIndex))) + await expect(proposalFromAllFinCouncil(helper.democracy.cancelProposalCall(proposalIndex))) .rejectedWith('BadOrigin'); }); @@ -141,7 +141,7 @@ const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); const referendumIndex = startedEvent.referendumIndex; - await expect(proposalFromAllCouncil(helper.democracy.emergencyCancelCall(referendumIndex))) + await expect(proposalFromAllFinCouncil(helper.democracy.emergencyCancelCall(referendumIndex))) .rejectedWith('BadOrigin'); }); @@ -156,6 +156,14 @@ )).to.be.rejectedWith('BadOrigin'); }); + itSub('[Negative] FinCouncil can\'t veto Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(proposalFromAllFinCouncil(helper.democracy.vetoExternalCall(preimageHash))) + .rejectedWith('BadOrigin'); + }); + itSub('[Negative] FinCouncil member can\'t veto Democracy proposals', async ({helper}) => { const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); @@ -170,7 +178,7 @@ const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); - await expect(proposalFromAllCouncil(helper.democracy.blacklistCall(preimageHash))).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(helper.democracy.blacklistCall(preimageHash))).to.be.rejectedWith('BadOrigin'); }); itSub('[Negative] FinCouncil member cannot blacklist Democracy proposals', async ({helper}) => { @@ -183,7 +191,7 @@ )).to.be.rejectedWith('BadOrigin'); }); - itSub('[Negative] FinCouncil can\' cancel Fellowship referendums', async ({helper}) => { + itSub('[Negative] FinCouncil can\'t cancel Fellowship referendums', async ({helper}) => { const fellowship = await initFellowship(donor, sudoer); const fellowshipProposer = fellowship[5][0]; const proposal = dummyProposal(helper); @@ -195,11 +203,11 @@ defaultEnactmentMoment, ); const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; - await expect(proposalFromAllCouncil(helper.fellowship.referenda.cancelCall(referendumIndex))) + await expect(proposalFromAllFinCouncil(helper.fellowship.referenda.cancelCall(referendumIndex))) .rejectedWith('BadOrigin'); }); - itSub('[Negative] TechComm member cannot cancel Fellowship referendums', async ({helper}) => { + itSub('[Negative] FinCouncil member cannot cancel Fellowship referendums', async ({helper}) => { const fellowship = await initFellowship(donor, sudoer); const fellowshipProposer = fellowship[5][0]; const proposal = dummyProposal(helper); @@ -219,7 +227,7 @@ )).to.be.rejectedWith('BadOrigin'); }); - itSub('[Negative] FinCouncil member can\' add a Fellowship member', async ({helper}) => { + itSub('[Negative] FinCouncil member can\'t add a Fellowship member', async ({helper}) => { const newFellowshipMember = helper.arrange.createEmptyAccount(); await expect(helper.finCouncil.collective.execute( finCounselors.andy, @@ -230,13 +238,13 @@ itSub('[Negative] FinCouncil cannot submit regular democracy proposal', async ({helper}) => { const councilProposal = await helper.democracy.proposeCall(dummyProposalCall(helper), 0n); - await expect(proposalFromAllCouncil(councilProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(councilProposal)).to.be.rejectedWith('BadOrigin'); }); itSub('[Negative] FinCouncil cannot externally propose SuperMajorityAgainst', async ({helper}) => { const commiteeProposal = await helper.democracy.externalProposeDefaultCall(dummyProposalCall(helper)); - await expect(proposalFromAllCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin'); }); itSub('[Negative] FinCouncil member cannot submit regular democracy proposal', async ({helper}) => { @@ -251,13 +259,13 @@ itSub('[Negative] FinCouncil cannot externally propose SimpleMajority', async ({helper}) => { const commiteeProposal = await helper.democracy.externalProposeMajorityCall(dummyProposalCall(helper)); - await expect(proposalFromAllCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin'); }); itSub('[Negative] FinCouncil cannot externally propose SuperMajorityApprove', async ({helper}) => { const commiteeProposal = await helper.democracy.externalProposeCall(dummyProposalCall(helper)); - await expect(proposalFromAllCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin'); }); itSub('[Negative] FinCouncil member cannot externally propose SuperMajorityAgainst', async ({helper}) => { @@ -292,8 +300,8 @@ const addMemberProposal = helper.council.membership.addMemberCall(newCouncilMember.address); const removeMemberProposal = helper.council.membership.removeMemberCall(newCouncilMember.address); - await expect(proposalFromAllCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin'); - await expect(proposalFromAllCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); }); itSub('[Negative] FinCouncil member cannot add/remove a Council member', async ({helper}) => { @@ -316,10 +324,30 @@ const addMemberProposal = helper.finCouncil.membership.addMemberCall(newCouncilMember.address); const removeMemberProposal = helper.finCouncil.membership.removeMemberCall(finCounselors.ildar.address); - await expect(proposalFromAllCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin'); - await expect(proposalFromAllCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] FinCouncil cannot add/remove a FinCouncil prime member', async ({helper}) => { + const setPrimeCall = helper.finCouncil.membership.setPrimeCall(finCounselors.andy.address); + const clearPrimeCall = helper.finCouncil.membership.clearPrimeCall(); + + await expect(proposalFromAllFinCouncil(setPrimeCall)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(clearPrimeCall)).to.be.rejectedWith('BadOrigin'); }); + itSub('[Negative] FinCouncil member cannot add/remove a FinCouncil prime member', async ({helper}) => { + await expect(helper.finCouncil.collective.execute( + finCounselors.andy, + helper.finCouncil.membership.setPrimeCall(finCounselors.andy.address), + )).to.be.rejectedWith('BadOrigin'); + + await expect(helper.finCouncil.collective.execute( + finCounselors.andy, + helper.finCouncil.membership.clearPrimeCall(), + )).to.be.rejectedWith('BadOrigin'); + }); + itSub('[Negative] FinCouncil member cannot add/remove a FinCouncil member', async ({helper}) => { const newCouncilMember = helper.arrange.createEmptyAccount(); const addMemberProposal = helper.finCouncil.membership.addMemberCall(newCouncilMember.address); @@ -340,8 +368,8 @@ const proposalForSet = await helper.council.membership.setPrimeCall(counselors.charu.address); const proposalForClear = await helper.council.membership.clearPrimeCall(); - await expect(proposalFromAllCouncil(proposalForSet)).to.be.rejectedWith('BadOrigin'); - await expect(proposalFromAllCouncil(proposalForClear)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(proposalForSet)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(proposalForClear)).to.be.rejectedWith('BadOrigin'); await clearCouncil(sudoer); }); @@ -363,17 +391,17 @@ itSub('[Negative] FinCouncil cannot add/remove a TechComm member', async ({helper}) => { const newCommMember = helper.arrange.createEmptyAccount(); - const addMemberProposal = helper.council.membership.addMemberCall(newCommMember.address); - const removeMemberProposal = helper.council.membership.removeMemberCall(newCommMember.address); + const addMemberProposal = helper.technicalCommittee.membership.addMemberCall(newCommMember.address); + const removeMemberProposal = helper.technicalCommittee.membership.removeMemberCall(newCommMember.address); - await expect(proposalFromAllCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin'); - await expect(proposalFromAllCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); }); itSub('[Negative] FinCouncil member cannot add/remove a TechComm member', async ({helper}) => { const newCommMember = helper.arrange.createEmptyAccount(); - const addMemberProposal = helper.council.membership.addMemberCall(newCommMember.address); - const removeMemberProposal = helper.council.membership.removeMemberCall(newCommMember.address); + const addMemberProposal = helper.technicalCommittee.membership.addMemberCall(newCommMember.address); + const removeMemberProposal = helper.technicalCommittee.membership.removeMemberCall(newCommMember.address); await expect(helper.finCouncil.collective.execute( finCounselors.andy, @@ -388,7 +416,7 @@ itSub('[Negative] FinCouncil cannot remove a Fellowship member', async ({helper}) => { const fellowship = await initFellowship(donor, sudoer); - await expect(proposalFromAllCouncil(helper.fellowship.collective.removeMemberCall(fellowship[5][0].address, 5))).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllFinCouncil(helper.fellowship.collective.removeMemberCall(fellowship[5][0].address, 5))).to.be.rejectedWith('BadOrigin'); await clearFellowship(sudoer); }); -- gitstuff