git.delta.rocks / unique-network / refs/commits / 5da2ac33955b

difftreelog

fix(tests) update test cases and resolve review comments

Maksandre2024-06-05parent: #ed0719f.patch.diff
in: master

2 files changed

modifiedjs-packages/tests/sub/governance/council.test.tsdiffbeforeafterboth
489 await expect(helper.council.collective.close(counselors.filip, proposalHash, proposalIndex)).to.be.rejectedWith('TooEarly');489 await expect(helper.council.collective.close(counselors.filip, proposalHash, proposalIndex)).to.be.rejectedWith('TooEarly');
490 });490 });
491491
492 itSub('[Negative] Council can\'t veto Democracy proposals', async ({helper}) => {
493 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);
494 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);
495
496 await expect(proposalFromAllCouncil(helper.democracy.vetoExternalCall(preimageHash)))
497 .rejectedWith('BadOrigin');
498 });
499
500 itSub('[Negative] Council member can\'t veto Democracy proposals', async ({helper}) => {
501 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);
502 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);
503
504 await expect(helper.council.collective.execute(
505 counselors.charu,
506 helper.democracy.vetoExternalCall(preimageHash),
507 )).rejectedWith('BadOrigin');
508 });
492});509});
493510
modifiedjs-packages/tests/sub/governance/financialCouncil.test.tsdiffbeforeafterboth
28 await clearTechComm(sudoer);28 await clearTechComm(sudoer);
29 });29 });
3030
31 async function proposalFromMoreThanHalfCouncil(proposal: any) {31 async function proposalFromMoreThanHalfFinCouncil(proposal: any) {
32 return await usingPlaygrounds(async (helper) => {32 return await usingPlaygrounds(async (helper) => {
33 expect((await helper.finCouncil.membership.getMembers()).length).to.be.equal(3);33 expect((await helper.finCouncil.membership.getMembers()).length).to.be.equal(3);
34 const proposeResult = await helper.finCouncil.collective.propose(34 const proposeResult = await helper.finCouncil.collective.propose(
48 });48 });
49 }49 }
5050
51 async function proposalFromAllCouncil(proposal: any) {51 async function proposalFromAllFinCouncil(proposal: any) {
52 return await usingPlaygrounds(async (helper) => {52 return await usingPlaygrounds(async (helper) => {
53 expect((await helper.finCouncil.membership.getMembers()).length).to.be.equal(3);53 expect((await helper.finCouncil.membership.getMembers()).length).to.be.equal(3);
54 const proposeResult = await helper.finCouncil.collective.propose(54 const proposeResult = await helper.finCouncil.collective.propose(
103103
104 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);104 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);
105105
106 await expect(proposalFromAllCouncil(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0)))106 await expect(proposalFromAllFinCouncil(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0)))
107 .rejectedWith('BadOrigin');107 .rejectedWith('BadOrigin');
108 });108 });
109109
121 const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n);121 const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n);
122 const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex;122 const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex;
123123
124 await expect(proposalFromAllCouncil(helper.democracy.cancelProposalCall(proposalIndex)))124 await expect(proposalFromAllFinCouncil(helper.democracy.cancelProposalCall(proposalIndex)))
125 .rejectedWith('BadOrigin');125 .rejectedWith('BadOrigin');
126 });126 });
127127
141 const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started);141 const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started);
142 const referendumIndex = startedEvent.referendumIndex;142 const referendumIndex = startedEvent.referendumIndex;
143143
144 await expect(proposalFromAllCouncil(helper.democracy.emergencyCancelCall(referendumIndex)))144 await expect(proposalFromAllFinCouncil(helper.democracy.emergencyCancelCall(referendumIndex)))
145 .rejectedWith('BadOrigin');145 .rejectedWith('BadOrigin');
146 });146 });
147147
156 )).to.be.rejectedWith('BadOrigin');156 )).to.be.rejectedWith('BadOrigin');
157 });157 });
158
159 itSub('[Negative] FinCouncil can\'t veto Democracy proposals', async ({helper}) => {
160 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);
161 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);
162
163 await expect(proposalFromAllFinCouncil(helper.democracy.vetoExternalCall(preimageHash)))
164 .rejectedWith('BadOrigin');
165 });
158166
159 itSub('[Negative] FinCouncil member can\'t veto Democracy proposals', async ({helper}) => {167 itSub('[Negative] FinCouncil member can\'t veto Democracy proposals', async ({helper}) => {
160 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);168 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);
170 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);178 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);
171 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);179 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);
172180
173 await expect(proposalFromAllCouncil(helper.democracy.blacklistCall(preimageHash))).to.be.rejectedWith('BadOrigin');181 await expect(proposalFromAllFinCouncil(helper.democracy.blacklistCall(preimageHash))).to.be.rejectedWith('BadOrigin');
174 });182 });
175183
176 itSub('[Negative] FinCouncil member cannot blacklist Democracy proposals', async ({helper}) => {184 itSub('[Negative] FinCouncil member cannot blacklist Democracy proposals', async ({helper}) => {
183 )).to.be.rejectedWith('BadOrigin');191 )).to.be.rejectedWith('BadOrigin');
184 });192 });
185193
186 itSub('[Negative] FinCouncil can\' cancel Fellowship referendums', async ({helper}) => {194 itSub('[Negative] FinCouncil can\'t cancel Fellowship referendums', async ({helper}) => {
187 const fellowship = await initFellowship(donor, sudoer);195 const fellowship = await initFellowship(donor, sudoer);
188 const fellowshipProposer = fellowship[5][0];196 const fellowshipProposer = fellowship[5][0];
189 const proposal = dummyProposal(helper);197 const proposal = dummyProposal(helper);
195 defaultEnactmentMoment,203 defaultEnactmentMoment,
196 );204 );
197 const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex;205 const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex;
198 await expect(proposalFromAllCouncil(helper.fellowship.referenda.cancelCall(referendumIndex)))206 await expect(proposalFromAllFinCouncil(helper.fellowship.referenda.cancelCall(referendumIndex)))
199 .rejectedWith('BadOrigin');207 .rejectedWith('BadOrigin');
200 });208 });
201209
202 itSub('[Negative] TechComm member cannot cancel Fellowship referendums', async ({helper}) => {210 itSub('[Negative] FinCouncil member cannot cancel Fellowship referendums', async ({helper}) => {
203 const fellowship = await initFellowship(donor, sudoer);211 const fellowship = await initFellowship(donor, sudoer);
204 const fellowshipProposer = fellowship[5][0];212 const fellowshipProposer = fellowship[5][0];
205 const proposal = dummyProposal(helper);213 const proposal = dummyProposal(helper);
219 )).to.be.rejectedWith('BadOrigin');227 )).to.be.rejectedWith('BadOrigin');
220 });228 });
221229
222 itSub('[Negative] FinCouncil member can\' add a Fellowship member', async ({helper}) => {230 itSub('[Negative] FinCouncil member can\'t add a Fellowship member', async ({helper}) => {
223 const newFellowshipMember = helper.arrange.createEmptyAccount();231 const newFellowshipMember = helper.arrange.createEmptyAccount();
224 await expect(helper.finCouncil.collective.execute(232 await expect(helper.finCouncil.collective.execute(
225 finCounselors.andy,233 finCounselors.andy,
230 itSub('[Negative] FinCouncil cannot submit regular democracy proposal', async ({helper}) => {238 itSub('[Negative] FinCouncil cannot submit regular democracy proposal', async ({helper}) => {
231 const councilProposal = await helper.democracy.proposeCall(dummyProposalCall(helper), 0n);239 const councilProposal = await helper.democracy.proposeCall(dummyProposalCall(helper), 0n);
232240
233 await expect(proposalFromAllCouncil(councilProposal)).to.be.rejectedWith('BadOrigin');241 await expect(proposalFromAllFinCouncil(councilProposal)).to.be.rejectedWith('BadOrigin');
234 });242 });
235243
236 itSub('[Negative] FinCouncil cannot externally propose SuperMajorityAgainst', async ({helper}) => {244 itSub('[Negative] FinCouncil cannot externally propose SuperMajorityAgainst', async ({helper}) => {
237 const commiteeProposal = await helper.democracy.externalProposeDefaultCall(dummyProposalCall(helper));245 const commiteeProposal = await helper.democracy.externalProposeDefaultCall(dummyProposalCall(helper));
238246
239 await expect(proposalFromAllCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin');247 await expect(proposalFromAllFinCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin');
240 });248 });
241249
242 itSub('[Negative] FinCouncil member cannot submit regular democracy proposal', async ({helper}) => {250 itSub('[Negative] FinCouncil member cannot submit regular democracy proposal', async ({helper}) => {
251 itSub('[Negative] FinCouncil cannot externally propose SimpleMajority', async ({helper}) => {259 itSub('[Negative] FinCouncil cannot externally propose SimpleMajority', async ({helper}) => {
252 const commiteeProposal = await helper.democracy.externalProposeMajorityCall(dummyProposalCall(helper));260 const commiteeProposal = await helper.democracy.externalProposeMajorityCall(dummyProposalCall(helper));
253261
254 await expect(proposalFromAllCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin');262 await expect(proposalFromAllFinCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin');
255 });263 });
256264
257 itSub('[Negative] FinCouncil cannot externally propose SuperMajorityApprove', async ({helper}) => {265 itSub('[Negative] FinCouncil cannot externally propose SuperMajorityApprove', async ({helper}) => {
258 const commiteeProposal = await helper.democracy.externalProposeCall(dummyProposalCall(helper));266 const commiteeProposal = await helper.democracy.externalProposeCall(dummyProposalCall(helper));
259267
260 await expect(proposalFromAllCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin');268 await expect(proposalFromAllFinCouncil(commiteeProposal)).to.be.rejectedWith('BadOrigin');
261 });269 });
262270
263 itSub('[Negative] FinCouncil member cannot externally propose SuperMajorityAgainst', async ({helper}) => {271 itSub('[Negative] FinCouncil member cannot externally propose SuperMajorityAgainst', async ({helper}) => {
292 const addMemberProposal = helper.council.membership.addMemberCall(newCouncilMember.address);300 const addMemberProposal = helper.council.membership.addMemberCall(newCouncilMember.address);
293 const removeMemberProposal = helper.council.membership.removeMemberCall(newCouncilMember.address);301 const removeMemberProposal = helper.council.membership.removeMemberCall(newCouncilMember.address);
294302
295 await expect(proposalFromAllCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin');303 await expect(proposalFromAllFinCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin');
296 await expect(proposalFromAllCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin');304 await expect(proposalFromAllFinCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin');
297 });305 });
298306
299 itSub('[Negative] FinCouncil member cannot add/remove a Council member', async ({helper}) => {307 itSub('[Negative] FinCouncil member cannot add/remove a Council member', async ({helper}) => {
316 const addMemberProposal = helper.finCouncil.membership.addMemberCall(newCouncilMember.address);324 const addMemberProposal = helper.finCouncil.membership.addMemberCall(newCouncilMember.address);
317 const removeMemberProposal = helper.finCouncil.membership.removeMemberCall(finCounselors.ildar.address);325 const removeMemberProposal = helper.finCouncil.membership.removeMemberCall(finCounselors.ildar.address);
318326
319 await expect(proposalFromAllCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin');327 await expect(proposalFromAllFinCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin');
320 await expect(proposalFromAllCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin');328 await expect(proposalFromAllFinCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin');
321 });329 });
330
331 itSub('[Negative] FinCouncil cannot add/remove a FinCouncil prime member', async ({helper}) => {
332 const setPrimeCall = helper.finCouncil.membership.setPrimeCall(finCounselors.andy.address);
333 const clearPrimeCall = helper.finCouncil.membership.clearPrimeCall();
334
335 await expect(proposalFromAllFinCouncil(setPrimeCall)).to.be.rejectedWith('BadOrigin');
336 await expect(proposalFromAllFinCouncil(clearPrimeCall)).to.be.rejectedWith('BadOrigin');
337 });
338
339 itSub('[Negative] FinCouncil member cannot add/remove a FinCouncil prime member', async ({helper}) => {
340 await expect(helper.finCouncil.collective.execute(
341 finCounselors.andy,
342 helper.finCouncil.membership.setPrimeCall(finCounselors.andy.address),
343 )).to.be.rejectedWith('BadOrigin');
344
345 await expect(helper.finCouncil.collective.execute(
346 finCounselors.andy,
347 helper.finCouncil.membership.clearPrimeCall(),
348 )).to.be.rejectedWith('BadOrigin');
349 });
322350
323 itSub('[Negative] FinCouncil member cannot add/remove a FinCouncil member', async ({helper}) => {351 itSub('[Negative] FinCouncil member cannot add/remove a FinCouncil member', async ({helper}) => {
324 const newCouncilMember = helper.arrange.createEmptyAccount();352 const newCouncilMember = helper.arrange.createEmptyAccount();
340 const proposalForSet = await helper.council.membership.setPrimeCall(counselors.charu.address);368 const proposalForSet = await helper.council.membership.setPrimeCall(counselors.charu.address);
341 const proposalForClear = await helper.council.membership.clearPrimeCall();369 const proposalForClear = await helper.council.membership.clearPrimeCall();
342370
343 await expect(proposalFromAllCouncil(proposalForSet)).to.be.rejectedWith('BadOrigin');371 await expect(proposalFromAllFinCouncil(proposalForSet)).to.be.rejectedWith('BadOrigin');
344 await expect(proposalFromAllCouncil(proposalForClear)).to.be.rejectedWith('BadOrigin');372 await expect(proposalFromAllFinCouncil(proposalForClear)).to.be.rejectedWith('BadOrigin');
345 await clearCouncil(sudoer);373 await clearCouncil(sudoer);
346 });374 });
347375
363391
364 itSub('[Negative] FinCouncil cannot add/remove a TechComm member', async ({helper}) => {392 itSub('[Negative] FinCouncil cannot add/remove a TechComm member', async ({helper}) => {
365 const newCommMember = helper.arrange.createEmptyAccount();393 const newCommMember = helper.arrange.createEmptyAccount();
366 const addMemberProposal = helper.council.membership.addMemberCall(newCommMember.address);394 const addMemberProposal = helper.technicalCommittee.membership.addMemberCall(newCommMember.address);
367 const removeMemberProposal = helper.council.membership.removeMemberCall(newCommMember.address);395 const removeMemberProposal = helper.technicalCommittee.membership.removeMemberCall(newCommMember.address);
368396
369 await expect(proposalFromAllCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin');397 await expect(proposalFromAllFinCouncil(addMemberProposal)).to.be.rejectedWith('BadOrigin');
370 await expect(proposalFromAllCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin');398 await expect(proposalFromAllFinCouncil(removeMemberProposal)).to.be.rejectedWith('BadOrigin');
371 });399 });
372400
373 itSub('[Negative] FinCouncil member cannot add/remove a TechComm member', async ({helper}) => {401 itSub('[Negative] FinCouncil member cannot add/remove a TechComm member', async ({helper}) => {
374 const newCommMember = helper.arrange.createEmptyAccount();402 const newCommMember = helper.arrange.createEmptyAccount();
375 const addMemberProposal = helper.council.membership.addMemberCall(newCommMember.address);403 const addMemberProposal = helper.technicalCommittee.membership.addMemberCall(newCommMember.address);
376 const removeMemberProposal = helper.council.membership.removeMemberCall(newCommMember.address);404 const removeMemberProposal = helper.technicalCommittee.membership.removeMemberCall(newCommMember.address);
377405
378 await expect(helper.finCouncil.collective.execute(406 await expect(helper.finCouncil.collective.execute(
379 finCounselors.andy,407 finCounselors.andy,
388 itSub('[Negative] FinCouncil cannot remove a Fellowship member', async ({helper}) => {416 itSub('[Negative] FinCouncil cannot remove a Fellowship member', async ({helper}) => {
389 const fellowship = await initFellowship(donor, sudoer);417 const fellowship = await initFellowship(donor, sudoer);
390418
391 await expect(proposalFromAllCouncil(helper.fellowship.collective.removeMemberCall(fellowship[5][0].address, 5))).to.be.rejectedWith('BadOrigin');419 await expect(proposalFromAllFinCouncil(helper.fellowship.collective.removeMemberCall(fellowship[5][0].address, 5))).to.be.rejectedWith('BadOrigin');
392 await clearFellowship(sudoer);420 await clearFellowship(sudoer);
393 });421 });
394422