difftreelog
test add event asserts (#982)
in: master
* add events asserts * fix eslint * eslint fix - unused vars
7 files changed
tests/src/benchmarks/nesting/index.tsdiffbeforeafterboth--- a/tests/src/benchmarks/nesting/index.ts
+++ b/tests/src/benchmarks/nesting/index.ts
@@ -1,17 +1,11 @@
import {EthUniqueHelper, usingEthPlaygrounds} from '../../eth/util';
import {readFile} from 'fs/promises';
-import {
- ICrossAccountId,
-} from '../../util/playgrounds/types';
import {IKeyringPair} from '@polkadot/types/types';
-import {UniqueNFTCollection} from '../../util/playgrounds/unique';
import {Contract} from 'web3-eth-contract';
-import {createObjectCsvWriter} from 'csv-writer';
-import {convertToTokens, createCollectionForBenchmarks, PERMISSIONS, PROPERTIES} from '../utils/common';
+import {convertToTokens} from '../utils/common';
import {makeNames} from '../../util';
import {ContractImports} from '../../eth/util/playgrounds/types';
import {RMRKNestableMintable} from './ABIGEN';
-import {rm} from 'fs';
const {dirname} = makeNames(import.meta.url);
tests/src/eth/nesting/nest.test.tsdiffbeforeafterboth--- a/tests/src/eth/nesting/nest.test.ts
+++ b/tests/src/eth/nesting/nest.test.ts
@@ -162,7 +162,7 @@
const malignant = await helper.eth.createAccountWithBalance(donor);
const {collectionId: collectionIdA, contract: contractA} = await createNestingCollection(helper, owner);
- const {collectionId: collectionIdB, contract: contractB} = await createNestingCollection(helper, owner);
+ const {contract: contractB} = await createNestingCollection(helper, owner);
await contractA.methods.setCollectionNesting([true, false, [contractA.options.address, contractB.options.address]]).send({from: owner});
tests/src/fetchMetadata.tsdiffbeforeafterboth--- a/tests/src/fetchMetadata.ts
+++ b/tests/src/fetchMetadata.ts
@@ -1,16 +1,16 @@
-import { writeFile } from "fs/promises";
-import { join } from "path";
-import { exit } from "process";
-import { fileURLToPath } from "url";
+import {writeFile} from 'fs/promises';
+import {join} from 'path';
+import {exit} from 'process';
+import {fileURLToPath} from 'url';
const url = process.env.RPC_URL;
-if (!url) throw new Error('RPC_URL is not set');
+if(!url) throw new Error('RPC_URL is not set');
const srcDir = fileURLToPath(new URL('.', import.meta.url));
-for (let i = 0; i < 10; i++) {
+for(let i = 0; i < 10; i++) {
try {
- console.log(`Trying to fetch metadata, retry ${i + 1}/${10}`)
+ console.log(`Trying to fetch metadata, retry ${i + 1}/${10}`);
const response = await fetch(url, {
method: 'POST',
headers: {
tests/src/governance/technicalCommittee.test.tsdiffbeforeafterboth36 });36 });37 });37 });383839 async function proposalFromAllCommittee(proposal: any) {39 function proposalFromAllCommittee(proposal: any) {40 return await usingPlaygrounds(async (helper) => {40 return usingPlaygrounds(async (helper) => {41 expect((await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON().length).to.be.equal(allTechCommitteeThreshold);41 expect((await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON().length).to.be.equal(allTechCommitteeThreshold);42 const proposeResult = await helper.technicalCommittee.collective.propose(42 const proposeResult = await helper.technicalCommittee.collective.propose(43 techcomms.andy,43 techcomms.andy,54 await helper.technicalCommittee.collective.vote(techcomms.constantine, proposalHash, proposalIndex, true);54 await helper.technicalCommittee.collective.vote(techcomms.constantine, proposalHash, proposalIndex, true);55 await helper.technicalCommittee.collective.vote(techcomms.greg, proposalHash, proposalIndex, true);55 await helper.technicalCommittee.collective.vote(techcomms.greg, proposalHash, proposalIndex, true);565657 return await helper.technicalCommittee.collective.close(techcomms.andy, proposalHash, proposalIndex);57 const closeResult = await helper.technicalCommittee.collective.close(techcomms.andy, proposalHash, proposalIndex);58 Event.TechnicalCommittee.Closed.expect(closeResult);59 Event.TechnicalCommittee.Approved.expect(closeResult);60 const {result} = Event.TechnicalCommittee.Executed.expect(closeResult);61 expect(result).to.eq('Ok');6263 return closeResult;58 });64 });59 }65 }6066647065 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);71 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);667267 await expect(proposalFromAllCommittee(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0)))73 const fastTrackProposal = await proposalFromAllCommittee(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0));68 .to.be.fulfilled;74 Event.Democracy.Started.expect(fastTrackProposal);69 });75 });707671 itSub('TechComm can cancel Democracy proposals', async ({helper}) => {77 itSub('TechComm can cancel Democracy proposals', async ({helper}) => {72 const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n);78 const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n);73 const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex;79 const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex;748075 await expect(proposalFromAllCommittee(helper.democracy.cancelProposalCall(proposalIndex)))81 const cancelProposal = await proposalFromAllCommittee(helper.democracy.cancelProposalCall(proposalIndex));76 .to.be.fulfilled;82 Event.Democracy.ProposalCanceled.expect(cancelProposal);77 });83 });788479 itSub('TechComm can cancel ongoing Democracy referendums', async ({helper}) => {85 itSub('TechComm can cancel ongoing Democracy referendums', async ({helper}) => {80 await helper.getSudo().democracy.externalProposeDefault(sudoer, dummyProposalCall(helper));86 await helper.getSudo().democracy.externalProposeDefault(sudoer, dummyProposalCall(helper));81 const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started);87 const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started);82 const referendumIndex = startedEvent.referendumIndex;88 const referendumIndex = startedEvent.referendumIndex;838984 await expect(proposalFromAllCommittee(helper.democracy.emergencyCancelCall(referendumIndex)))90 const emergencyCancelProposal = await proposalFromAllCommittee(helper.democracy.emergencyCancelCall(referendumIndex));85 .to.be.fulfilled;91 Event.Democracy.Cancelled.expect(emergencyCancelProposal);86 });92 });87889389 itSub('TechComm member can veto Democracy proposals', async ({helper}) => {94 itSub('TechComm member can veto Democracy proposals', async ({helper}) => {90 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);95 const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true);91 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);96 await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash);929793 await expect(helper.technicalCommittee.collective.execute(98 const vetoExternalCall = await helper.technicalCommittee.collective.execute(94 techcomms.andy,99 techcomms.andy,95 helper.democracy.vetoExternalCall(preimageHash),100 helper.democracy.vetoExternalCall(preimageHash),96 )).to.be.fulfilled;101 );102 Event.Democracy.Vetoed.expect(vetoExternalCall);97 });103 });9810499 itSub('TechComm can cancel Fellowship referendums', async ({helper}) => {105 itSub('TechComm can cancel Fellowship referendums', async ({helper}) => {108 defaultEnactmentMoment,114 defaultEnactmentMoment,109 );115 );110 const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex;116 const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex;111 await expect(proposalFromAllCommittee(helper.fellowship.referenda.cancelCall(referendumIndex))).to.be.fulfilled;117 const cancelProposal = await proposalFromAllCommittee(helper.fellowship.referenda.cancelCall(referendumIndex));118 Event.FellowshipReferenda.Cancelled.expect(cancelProposal);112 });119 });113120114 itSub.skip('TechComm member can add a Fellowship member', async ({helper}) => {121 itSub.skip('TechComm member can add a Fellowship member', async ({helper}) => {tests/src/maintenance.seqtest.tsdiffbeforeafterboth--- a/tests/src/maintenance.seqtest.ts
+++ b/tests/src/maintenance.seqtest.ts
@@ -18,7 +18,6 @@
import {ApiPromise} from '@polkadot/api';
import {expect, itSched, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from './util';
import {itEth} from './eth/util';
-import {UniqueHelper} from './util/playgrounds/unique';
import {main as correctState} from './migrations/correctStateAfterMaintenance';
async function maintenanceEnabled(api: ApiPromise): Promise<boolean> {
tests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/unique.dev.ts
+++ b/tests/src/util/playgrounds/unique.dev.ts
@@ -174,6 +174,20 @@
static Passed = this.Method('Passed', data => ({
referendumIndex: eventJsonData<number>(data, 0),
}));
+
+ static ProposalCanceled = this.Method('ProposalCanceled', data => ({
+ propIndex: eventJsonData<number>(data, 0),
+ }));
+
+ static Cancelled = this.Method('Cancelled', data => ({
+ propIndex: eventJsonData<number>(data, 0),
+ }));
+
+ static Vetoed = this.Method('Vetoed', data => ({
+ who: eventHumanData(data, 0),
+ proposalHash: eventHumanData(data, 1),
+ until: eventJsonData<number>(data, 1),
+ }));
};
static Council = class extends EventSection('council') {
@@ -188,6 +202,9 @@
yes: eventJsonData<number>(data, 1),
no: eventJsonData<number>(data, 2),
}));
+ static Executed = this.Method('Executed', data => ({
+ proposalHash: eventHumanData(data, 0),
+ }));
};
static TechnicalCommittee = class extends EventSection('technicalCommittee') {
@@ -202,6 +219,13 @@
yes: eventJsonData<number>(data, 1),
no: eventJsonData<number>(data, 2),
}));
+ static Approved = this.Method('Approved', data => ({
+ proposalHash: eventHumanData(data, 0),
+ }));
+ static Executed = this.Method('Executed', data => ({
+ proposalHash: eventHumanData(data, 0),
+ result: eventHumanData(data, 1),
+ }));
};
static FellowshipReferenda = class extends EventSection('fellowshipReferenda') {
@@ -210,6 +234,11 @@
trackId: eventJsonData<number>(data, 1),
proposal: eventJsonData(data, 2),
}));
+
+ static Cancelled = this.Method('Cancelled', data => ({
+ index: eventJsonData<number>(data, 0),
+ tally: eventJsonData(data, 1),
+ }));
};
static UniqueScheduler = schedulerSection('uniqueScheduler');
tests/src/util/playgrounds/unique.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -44,15 +44,11 @@
MoonbeamAssetInfo,
DemocracyStandardAccountVote,
IEthCrossAccountId,
- CollectionFlag,
IPhasicEvent,
- DemocracySplitAccount,
} from './types';
import {RuntimeDispatchInfo} from '@polkadot/types/interfaces';
import type {Vec} from '@polkadot/types-codec';
-import {FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, FrameSystemEventRecord, PalletBalancesIdAmount, PalletDemocracyConviction, PalletDemocracyVoteAccountVote} from '@polkadot/types/lookup';
-import {arrayUnzip} from '@polkadot/util';
-import {Event} from './unique.dev';
+import {FrameSystemEventRecord, PalletDemocracyConviction} from '@polkadot/types/lookup';
export class CrossAccountId {
Substrate!: TSubstrateAccount;