diff --git a/tests/src/benchmarks/nesting/index.ts b/tests/src/benchmarks/nesting/index.ts index 81c2aecdbe..8679faf65d 100644 --- 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); diff --git a/tests/src/eth/nesting/nest.test.ts b/tests/src/eth/nesting/nest.test.ts index 21df72aafe..153205fb28 100644 --- a/tests/src/eth/nesting/nest.test.ts +++ b/tests/src/eth/nesting/nest.test.ts @@ -162,7 +162,7 @@ describe('EVM nesting tests group', () => { 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}); diff --git a/tests/src/fetchMetadata.ts b/tests/src/fetchMetadata.ts index 3421439431..80bab0b6ac 100644 --- 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: { diff --git a/tests/src/governance/technicalCommittee.test.ts b/tests/src/governance/technicalCommittee.test.ts index e717022721..84d7ade6ef 100644 --- a/tests/src/governance/technicalCommittee.test.ts +++ b/tests/src/governance/technicalCommittee.test.ts @@ -36,8 +36,8 @@ describeGov('Governance: Technical Committee tests', () => { }); }); - async function proposalFromAllCommittee(proposal: any) { - return await usingPlaygrounds(async (helper) => { + function proposalFromAllCommittee(proposal: any) { + return usingPlaygrounds(async (helper) => { expect((await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON().length).to.be.equal(allTechCommitteeThreshold); const proposeResult = await helper.technicalCommittee.collective.propose( techcomms.andy, @@ -54,7 +54,13 @@ describeGov('Governance: Technical Committee tests', () => { await helper.technicalCommittee.collective.vote(techcomms.constantine, proposalHash, proposalIndex, true); await helper.technicalCommittee.collective.vote(techcomms.greg, proposalHash, proposalIndex, true); - return await helper.technicalCommittee.collective.close(techcomms.andy, proposalHash, proposalIndex); + const closeResult = await helper.technicalCommittee.collective.close(techcomms.andy, proposalHash, proposalIndex); + Event.TechnicalCommittee.Closed.expect(closeResult); + Event.TechnicalCommittee.Approved.expect(closeResult); + const {result} = Event.TechnicalCommittee.Executed.expect(closeResult); + expect(result).to.eq('Ok'); + + return closeResult; }); } @@ -64,16 +70,16 @@ describeGov('Governance: Technical Committee tests', () => { await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); - await expect(proposalFromAllCommittee(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0))) - .to.be.fulfilled; + const fastTrackProposal = await proposalFromAllCommittee(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0)); + Event.Democracy.Started.expect(fastTrackProposal); }); itSub('TechComm can cancel Democracy proposals', async ({helper}) => { const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n); const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex; - await expect(proposalFromAllCommittee(helper.democracy.cancelProposalCall(proposalIndex))) - .to.be.fulfilled; + const cancelProposal = await proposalFromAllCommittee(helper.democracy.cancelProposalCall(proposalIndex)); + Event.Democracy.ProposalCanceled.expect(cancelProposal); }); itSub('TechComm can cancel ongoing Democracy referendums', async ({helper}) => { @@ -81,19 +87,19 @@ describeGov('Governance: Technical Committee tests', () => { const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); const referendumIndex = startedEvent.referendumIndex; - await expect(proposalFromAllCommittee(helper.democracy.emergencyCancelCall(referendumIndex))) - .to.be.fulfilled; + const emergencyCancelProposal = await proposalFromAllCommittee(helper.democracy.emergencyCancelCall(referendumIndex)); + Event.Democracy.Cancelled.expect(emergencyCancelProposal); }); - itSub('TechComm member can 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.technicalCommittee.collective.execute( + const vetoExternalCall = await helper.technicalCommittee.collective.execute( techcomms.andy, helper.democracy.vetoExternalCall(preimageHash), - )).to.be.fulfilled; + ); + Event.Democracy.Vetoed.expect(vetoExternalCall); }); itSub('TechComm can cancel Fellowship referendums', async ({helper}) => { @@ -108,7 +114,8 @@ describeGov('Governance: Technical Committee tests', () => { defaultEnactmentMoment, ); const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; - await expect(proposalFromAllCommittee(helper.fellowship.referenda.cancelCall(referendumIndex))).to.be.fulfilled; + const cancelProposal = await proposalFromAllCommittee(helper.fellowship.referenda.cancelCall(referendumIndex)); + Event.FellowshipReferenda.Cancelled.expect(cancelProposal); }); itSub.skip('TechComm member can add a Fellowship member', async ({helper}) => { diff --git a/tests/src/maintenance.seqtest.ts b/tests/src/maintenance.seqtest.ts index 1212946a0c..02c927609d 100644 --- a/tests/src/maintenance.seqtest.ts +++ b/tests/src/maintenance.seqtest.ts @@ -18,7 +18,6 @@ import {IKeyringPair} from '@polkadot/types/types'; 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 { diff --git a/tests/src/util/playgrounds/unique.dev.ts b/tests/src/util/playgrounds/unique.dev.ts index adaa0dc0b1..88c57f6894 100644 --- a/tests/src/util/playgrounds/unique.dev.ts +++ b/tests/src/util/playgrounds/unique.dev.ts @@ -174,6 +174,20 @@ export class Event { static Passed = this.Method('Passed', data => ({ referendumIndex: eventJsonData(data, 0), })); + + static ProposalCanceled = this.Method('ProposalCanceled', data => ({ + propIndex: eventJsonData(data, 0), + })); + + static Cancelled = this.Method('Cancelled', data => ({ + propIndex: eventJsonData(data, 0), + })); + + static Vetoed = this.Method('Vetoed', data => ({ + who: eventHumanData(data, 0), + proposalHash: eventHumanData(data, 1), + until: eventJsonData(data, 1), + })); }; static Council = class extends EventSection('council') { @@ -188,6 +202,9 @@ export class Event { yes: eventJsonData(data, 1), no: eventJsonData(data, 2), })); + static Executed = this.Method('Executed', data => ({ + proposalHash: eventHumanData(data, 0), + })); }; static TechnicalCommittee = class extends EventSection('technicalCommittee') { @@ -202,6 +219,13 @@ export class Event { yes: eventJsonData(data, 1), no: eventJsonData(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 @@ export class Event { trackId: eventJsonData(data, 1), proposal: eventJsonData(data, 2), })); + + static Cancelled = this.Method('Cancelled', data => ({ + index: eventJsonData(data, 0), + tally: eventJsonData(data, 1), + })); }; static UniqueScheduler = schedulerSection('uniqueScheduler'); diff --git a/tests/src/util/playgrounds/unique.ts b/tests/src/util/playgrounds/unique.ts index f4aa9c4fcc..e8489d30c9 100644 --- a/tests/src/util/playgrounds/unique.ts +++ b/tests/src/util/playgrounds/unique.ts @@ -44,15 +44,11 @@ import { 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;