difftreelog
test fix pallet presence
in: master
2 files changed
tests/src/pallet-presence.test.tsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617import {itSub, usingPlaygrounds, expect} from './util';1819// Pallets that must always be present20const requiredPallets = [21 'balances',22 'common',23 'randomnesscollectiveflip',24 'timestamp',25 'transactionpayment',26 'treasury',27 'structure',28 'system',29 'vesting',30 'parachainsystem',31 'parachaininfo',32 'evm',33 'evmcodersubstrate',34 'evmcontracthelpers',35 'evmmigration',36 'evmtransactionpayment',37 'ethereum',38 'fungible',39 'xcmpqueue',40 'polkadotxcm',41 'cumulusxcm',42 'dmpqueue',43 'inflation',44 'unique',45 'nonfungible',46 'charging',47 'configuration',48 'tokens',49 'xtokens',50 'maintenance',51];5253// Pallets that depend on consensus and governance configuration54const consensusPallets = [55 'sudo',56 'aura',57 'auraext',58];5960describe('Pallet presence', () => {61 before(async () => {62 await usingPlaygrounds(async helper => {63 const chain = await helper.callRpc('api.rpc.system.chain', []);6465 const refungible = 'refungible';66 const foreignAssets = 'foreignassets';67 const appPromotion = 'apppromotion';68 const collatorSelection = ['authorship', 'session', 'collatorselection', 'identity'];69 const preimage = ['preimage'];70 const testUtils = 'testutils';7172 if (chain.eq('OPAL by UNIQUE')) {73 requiredPallets.push(74 refungible,75 foreignAssets,76 appPromotion,77 testUtils,78 ...collatorSelection,79 ...preimage,80 );81 } else if (chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) {82 requiredPallets.push(83 refungible,84 appPromotion,85 foreignAssets,86 ...collatorSelection,87 ...preimage,88 );89 } else if (chain.eq('UNIQUE')) {90 // Insert Unique additional pallets here91 requiredPallets.push(92 refungible,93 foreignAssets,94 appPromotion,95 );96 }97 });98 });99100 itSub('Required pallets are present', ({helper}) => {101 expect(helper.fetchAllPalletNames()).to.contain.members([...requiredPallets]);102 });103104 itSub('Governance and consensus pallets are present', ({helper}) => {105 expect(helper.fetchAllPalletNames()).to.contain.members([...consensusPallets]);106 });107108 itSub('No extra pallets are included', ({helper}) => {109 expect(helper.fetchAllPalletNames().sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());110 });111});1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617import {itSub, usingPlaygrounds, expect} from './util';1819// Pallets that must always be present20const requiredPallets = [21 'balances',22 'common',23 'timestamp',24 'transactionpayment',25 'treasury',26 'structure',27 'system',28 'vesting',29 'parachainsystem',30 'parachaininfo',31 'evm',32 'evmcodersubstrate',33 'evmcontracthelpers',34 'evmmigration',35 'evmtransactionpayment',36 'ethereum',37 'fungible',38 'xcmpqueue',39 'polkadotxcm',40 'cumulusxcm',41 'dmpqueue',42 'inflation',43 'unique',44 'nonfungible',45 'charging',46 'configuration',47 'tokens',48 'xtokens',49 'maintenance',50];5152// Pallets that depend on consensus and governance configuration53const consensusPallets = [54 'sudo',55 'aura',56 'auraext',57];5859describe('Pallet presence', () => {60 before(async () => {61 await usingPlaygrounds(async helper => {62 const chain = await helper.callRpc('api.rpc.system.chain', []);6364 const refungible = 'refungible';65 const foreignAssets = 'foreignassets';66 const appPromotion = 'apppromotion';67 const collatorSelection = ['authorship', 'session', 'collatorselection', 'identity'];68 const preimage = ['preimage'];69 const testUtils = 'testutils';7071 if (chain.eq('OPAL by UNIQUE')) {72 requiredPallets.push(73 refungible,74 foreignAssets,75 appPromotion,76 testUtils,77 ...collatorSelection,78 ...preimage,79 );80 } else if (chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) {81 requiredPallets.push(82 refungible,83 appPromotion,84 foreignAssets,85 ...collatorSelection,86 ...preimage,87 );88 } else if (chain.eq('UNIQUE')) {89 // Insert Unique additional pallets here90 requiredPallets.push(91 refungible,92 foreignAssets,93 appPromotion,94 );95 }96 });97 });9899 itSub('Required pallets are present', ({helper}) => {100 expect(helper.fetchAllPalletNames()).to.contain.members([...requiredPallets].sort());101 });102103 itSub('Governance and consensus pallets are present', ({helper}) => {104 expect(helper.fetchAllPalletNames()).to.contain.members([...consensusPallets].sort());105 });106107 itSub('No extra pallets are included', ({helper}) => {108 expect(helper.fetchAllPalletNames().sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());109 });110});tests/src/util/playgrounds/unique.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -736,7 +736,7 @@
fetchAllPalletNames(): string[] {
if(this.api === null) throw Error('API not initialized');
- return this.api.runtimeMetadata.asLatest.pallets.map(m => m.name.toString().toLowerCase());
+ return this.api.runtimeMetadata.asLatest.pallets.map(m => m.name.toString().toLowerCase()).sort();
}
fetchMissingPalletNames(requiredPallets: string[]): string[] {