difftreelog
Merge pull request #992 from UniqueNetwork/fix/pallet-presence-release-60
in: master
1 file 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 'balancesadapter',23 'common',24 'timestamp',25 'transactionpayment',26 'treasury',27 'statetriemigration',28 'structure',29 'system',30 'vesting',31 'parachainsystem',32 'parachaininfo',33 'evm',34 'evmcodersubstrate',35 'evmcontracthelpers',36 'evmmigration',37 'evmtransactionpayment',38 'ethereum',39 'fungible',40 'xcmpqueue',41 'polkadotxcm',42 'cumulusxcm',43 'dmpqueue',44 'inflation',45 'unique',46 'nonfungible',47 'charging',48 'configuration',49 'tokens',50 'xtokens',51 'maintenance',52];5354// Pallets that depend on consensus and governance configuration55const consensusPallets = [56 'sudo',57 'aura',58 'auraext',59];6061describe('Pallet presence', () => {62 before(async () => {63 await usingPlaygrounds(async helper => {64 const chain = await helper.callRpc('api.rpc.system.chain', []);6566 const refungible = 'refungible';67 const foreignAssets = 'foreignassets';68 const appPromotion = 'apppromotion';69 const collatorSelection = ['authorship', 'session', 'collatorselection', 'identity'];70 const preimage = ['preimage'];71 const governance = [72 'council',73 'councilmembership',74 'democracy',75 'fellowshipcollective',76 'fellowshipreferenda',77 'origins',78 'scheduler',79 'technicalcommittee',80 'technicalcommitteemembership',81 ];82 const testUtils = 'testutils';8384 if(chain.eq('OPAL by UNIQUE')) {85 requiredPallets.push(86 refungible,87 foreignAssets,88 appPromotion,89 testUtils,90 ...collatorSelection,91 ...preimage,92 ...governance,93 );94 } else if(chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) {95 requiredPallets.push(96 refungible,97 appPromotion,98 foreignAssets,99 ...collatorSelection,100 ...preimage,101 ...governance,102 );103 } else if(chain.eq('UNIQUE')) {104 // Insert Unique additional pallets here105 requiredPallets.push(106 refungible,107 foreignAssets,108 appPromotion,109 );110 }111 });112 });113114 itSub('Required pallets are present', ({helper}) => {115 expect(helper.fetchAllPalletNames()).to.contain.members([...requiredPallets].sort());116 });117118 itSub('Governance and consensus pallets are present', ({helper}) => {119 expect(helper.fetchAllPalletNames()).to.contain.members([...consensusPallets].sort());120 });121122 itSub('No extra pallets are included', ({helper}) => {123 expect(helper.fetchAllPalletNames().sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());124 });125});