1234567891011121314151617import {itSub, usingPlaygrounds, expect} from './util';181920const requiredPallets = [21 'balances',22 'balancesadapter',23 'common',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];525354const 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 91 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].sort());102 });103104 itSub('Governance and consensus pallets are present', ({helper}) => {105 expect(helper.fetchAllPalletNames()).to.contain.members([...consensusPallets].sort());106 });107108 itSub('No extra pallets are included', ({helper}) => {109 expect(helper.fetchAllPalletNames().sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());110 });111});