difftreelog
CORE-302 Fix test: No extra pallets are included
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 {ApiPromise} from '@polkadot/api';18import {expect} from 'chai';19import usingApi from './substrate/substrate-api';2021function getModuleNames(api: ApiPromise): string[] {22 return api.runtimeMetadata.asLatest.pallets.map(m => m.name.toString().toLowerCase());23}2425// Pallets that must always be present26const requiredPallets = [27 'balances',28 'common',29 'randomnesscollectiveflip',30 'timestamp',31 'transactionpayment',32 'treasury',33 'structure',34 'system',35 'vesting',36 'parachainsystem',37 'parachaininfo',38 'evm',39 'evmcodersubstrate',40 'evmcontracthelpers',41 'evmmigration',42 'evmtransactionpayment',43 'ethereum',44 'fungible',45 'xcmpqueue',46 'polkadotxcm',47 'cumulusxcm',48 'dmpqueue',49 'inflation',50 'unique',51 'nonfungible',52 'refungible',53 //'scheduler',54 'charging',55];5657// Pallets that depend on consensus and governance configuration58const consensusPallets = [59 'sudo',60 'aura',61 'auraext',62];6364describe('Pallet presence', () => {65 it('Required pallets are present', async () => {66 await usingApi(async api => {67 for (let i=0; i<requiredPallets.length; i++) {68 expect(getModuleNames(api)).to.include(requiredPallets[i]);69 }70 });71 });72 it('Governance and consensus pallets are present', async () => {73 await usingApi(async api => {74 for (let i=0; i<consensusPallets.length; i++) {75 expect(getModuleNames(api)).to.include(consensusPallets[i]);76 }77 });78 });79 it('No extra pallets are included', async () => {80 await usingApi(async api => {81 expect(getModuleNames(api).sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());82 });83 });84});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 {ApiPromise} from '@polkadot/api';18import {expect} from 'chai';19import usingApi from './substrate/substrate-api';2021function getModuleNames(api: ApiPromise): string[] {22 return api.runtimeMetadata.asLatest.pallets.map(m => m.name.toString().toLowerCase());23}2425// Pallets that must always be present26const requiredPallets = [27 'balances',28 'common',29 'randomnesscollectiveflip',30 'timestamp',31 'transactionpayment',32 'treasury',33 'structure',34 'system',35 'vesting',36 'parachainsystem',37 'parachaininfo',38 'evm',39 'evmcodersubstrate',40 'evmcollection',41 'evmcontracthelpers',42 'evmmigration',43 'evmtransactionpayment',44 'ethereum',45 'fungible',46 'xcmpqueue',47 'polkadotxcm',48 'cumulusxcm',49 'dmpqueue',50 'inflation',51 'unique',52 'nonfungible',53 'refungible',54 //'scheduler',55 'charging',56];5758// Pallets that depend on consensus and governance configuration59const consensusPallets = [60 'sudo',61 'aura',62 'auraext',63];6465describe('Pallet presence', () => {66 it('Required pallets are present', async () => {67 await usingApi(async api => {68 for (let i=0; i<requiredPallets.length; i++) {69 expect(getModuleNames(api)).to.include(requiredPallets[i]);70 }71 });72 });73 it('Governance and consensus pallets are present', async () => {74 await usingApi(async api => {75 for (let i=0; i<consensusPallets.length; i++) {76 expect(getModuleNames(api)).to.include(consensusPallets[i]);77 }78 });79 });80 it('No extra pallets are included', async () => {81 await usingApi(async api => {82 expect(getModuleNames(api).sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());83 });84 });85});