difftreelog
tests: remove scheduler from required pallets + fix some lint warnings
in: master
4 files changed
tests/src/eth/base.test.tsdiffbeforeafterboth--- a/tests/src/eth/base.test.ts
+++ b/tests/src/eth/base.test.ts
@@ -14,8 +14,6 @@
// You should have received a copy of the GNU General Public License
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-import {Contract} from 'web3-eth-contract';
-
import {IKeyringPair} from '@polkadot/types/types';
import {EthUniqueHelper, itEth, usingEthPlaygrounds, expect} from './util';
@@ -93,7 +91,7 @@
const donor = await privateKey({filename: __filename});
const [alice] = await helper.arrange.createAccounts([10n], donor);
({collectionId: simpleNftCollectionId} = await helper.nft.mintCollection(alice, {name: 'test', description: 'test', tokenPrefix: 'test'}));
- minter = helper.eth.createAccount();
+ minter = await helper.eth.createAccountWithBalance(donor);
({collectionId: erc721MetadataCompatibleNftCollectionId} = await helper.eth.createERC721MetadataCompatibleNFTCollection(minter, 'n', 'd', 'p', BASE_URI));
});
});
tests/src/eth/collectionProperties.test.tsdiffbeforeafterboth--- a/tests/src/eth/collectionProperties.test.ts
+++ b/tests/src/eth/collectionProperties.test.ts
@@ -18,7 +18,6 @@
import {Pallets} from '../util';
import {IProperty, ITokenPropertyPermission} from '../util/playgrounds/types';
import {IKeyringPair} from '@polkadot/types/types';
-import {Contract} from 'web3-eth-contract';
describe('EVM collection properties', () => {
let donor: IKeyringPair;
@@ -99,7 +98,7 @@
const contract = helper.ethNativeContract.collectionById(collectionId, mode, caller);
await contract.methods.addCollectionAdmin(bruh).send(); // to check that admin will work too
- const collection1 = await helper.nft.getCollectionObject(collectionId);
+ const collection1 = helper.nft.getCollectionObject(collectionId);
const data1 = await collection1.getData();
expect(data1?.raw.flags.erc721metadata).to.be.false;
expect(await contract.methods.supportsInterface('0x5b5e139f').call()).to.be.false;
@@ -109,18 +108,18 @@
expect(await contract.methods.supportsInterface('0x5b5e139f').call()).to.be.true;
- const collection2 = await helper.nft.getCollectionObject(collectionId);
+ const collection2 = helper.nft.getCollectionObject(collectionId);
const data2 = await collection2.getData();
expect(data2?.raw.flags.erc721metadata).to.be.true;
- const TPPs = data2?.raw.tokenPropertyPermissions;
- expect(TPPs?.length).to.equal(2);
+ const propertyPermissions = data2?.raw.tokenPropertyPermissions;
+ expect(propertyPermissions?.length).to.equal(2);
- expect(TPPs.find((tpp: ITokenPropertyPermission) => {
+ expect(propertyPermissions.find((tpp: ITokenPropertyPermission) => {
return tpp.key === 'URI' && tpp.permission.mutable && tpp.permission.collectionAdmin && !tpp.permission.tokenOwner;
})).to.be.not.null;
- expect(TPPs.find((tpp: ITokenPropertyPermission) => {
+ expect(propertyPermissions.find((tpp: ITokenPropertyPermission) => {
return tpp.key === 'URISuffix' && tpp.permission.mutable && tpp.permission.collectionAdmin && !tpp.permission.tokenOwner;
})).to.be.not.null;
tests/src/eth/util/index.tsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// SPDX-License-Identifier: Apache-2.034import * as path from 'path';5import {IKeyringPair} from '@polkadot/types/types';67import config from '../../config';89import {EthUniqueHelper} from './playgrounds/unique.dev';10import {SilentLogger, SilentConsole} from '../../util/playgrounds/unique.dev';1112export {EthUniqueHelper} from './playgrounds/unique.dev';1314import chai from 'chai';15import chaiAsPromised from 'chai-as-promised';16import chaiLike from 'chai-like';17import {getTestSeed, requirePalletsOrSkip} from '../../util';1819chai.use(chaiAsPromised);20chai.use(chaiLike);21export const expect = chai.expect;2223export enum SponsoringMode {24 Disabled = 0,25 Allowlisted = 1,26 Generous = 2,27}2829export const usingEthPlaygrounds = async (code: (helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair>) => Promise<void>) => {30 const silentConsole = new SilentConsole();31 silentConsole.enable();3233 const helper = new EthUniqueHelper(new SilentLogger());3435 try {36 await helper.connect(config.substrateUrl);37 await helper.connectWeb3(config.substrateUrl);38 const ss58Format = helper.chain.getChainProperties().ss58Format;39 const privateKey = async (seed: string | {filename: string}) => {40 if (typeof seed === 'string') {41 return helper.util.fromSeed(seed, ss58Format);42 }43 else {44 const actualSeed = getTestSeed(seed.filename);45 let account = helper.util.fromSeed(actualSeed, ss58Format);46 if (await helper.balance.getSubstrate(account.address) == 0n) {47 console.warn(`${path.basename(seed.filename)}: Not enough funds present on the filename account. Using the default one as the donor instead.`);48 account = helper.util.fromSeed('//Alice', ss58Format);49 }50 return account;51 }52 };53 await code(helper, privateKey);54 }55 finally {56 await helper.disconnect();57 silentConsole.disable();58 }59};60 61export async function itEth(name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) {62 (opts.only ? it.only : 63 opts.skip ? it.skip : it)(name, async function() {64 await usingEthPlaygrounds(async (helper, privateKey) => {65 if (opts.requiredPallets) {66 requirePalletsOrSkip(this, helper, opts.requiredPallets);67 }6869 await cb({helper, privateKey});70 });71 });72}7374export async function itEthIfWithPallet(name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) {75 return itEth(name, cb, {requiredPallets: required, ...opts});76}7778itEth.only = (name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEth(name, cb, {only: true});79itEth.skip = (name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEth(name, cb, {skip: true});8081itEthIfWithPallet.only = (name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEthIfWithPallet(name, required, cb, {only: true});82itEthIfWithPallet.skip = (name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEthIfWithPallet(name, required, cb, {skip: true});83itEth.ifWithPallets = itEthIfWithPallet;1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// SPDX-License-Identifier: Apache-2.034import * as path from 'path';5import {IKeyringPair} from '@polkadot/types/types';67import config from '../../config';89import {EthUniqueHelper} from './playgrounds/unique.dev';10import {SilentLogger, SilentConsole} from '../../util/playgrounds/unique.dev';1112export {EthUniqueHelper} from './playgrounds/unique.dev';1314import chai from 'chai';15import chaiAsPromised from 'chai-as-promised';16import chaiLike from 'chai-like';17import {getTestSeed, MINIMUM_DONOR_FUND, requirePalletsOrSkip} from '../../util';1819chai.use(chaiAsPromised);20chai.use(chaiLike);21export const expect = chai.expect;2223export enum SponsoringMode {24 Disabled = 0,25 Allowlisted = 1,26 Generous = 2,27}2829export const usingEthPlaygrounds = async (code: (helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair>) => Promise<void>) => {30 const silentConsole = new SilentConsole();31 silentConsole.enable();3233 const helper = new EthUniqueHelper(new SilentLogger());3435 try {36 await helper.connect(config.substrateUrl);37 await helper.connectWeb3(config.substrateUrl);38 const ss58Format = helper.chain.getChainProperties().ss58Format;39 const privateKey = async (seed: string | {filename: string}) => {40 if (typeof seed === 'string') {41 return helper.util.fromSeed(seed, ss58Format);42 }43 else {44 const actualSeed = getTestSeed(seed.filename);45 let account = helper.util.fromSeed(actualSeed, ss58Format);46 if (await helper.balance.getSubstrate(account.address) < MINIMUM_DONOR_FUND) {47 console.warn(`${path.basename(seed.filename)}: Not enough funds present on the filename account. Using the default one as the donor instead.`);48 account = helper.util.fromSeed('//Alice', ss58Format);49 }50 return account;51 }52 };53 await code(helper, privateKey);54 }55 finally {56 await helper.disconnect();57 silentConsole.disable();58 }59};60 61export async function itEth(name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) {62 (opts.only ? it.only : 63 opts.skip ? it.skip : it)(name, async function() {64 await usingEthPlaygrounds(async (helper, privateKey) => {65 if (opts.requiredPallets) {66 requirePalletsOrSkip(this, helper, opts.requiredPallets);67 }6869 await cb({helper, privateKey});70 });71 });72}7374export async function itEthIfWithPallet(name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) {75 return itEth(name, cb, {requiredPallets: required, ...opts});76}7778itEth.only = (name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEth(name, cb, {only: true});79itEth.skip = (name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEth(name, cb, {skip: true});8081itEthIfWithPallet.only = (name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEthIfWithPallet(name, required, cb, {only: true});82itEthIfWithPallet.skip = (name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise<IKeyringPair> }) => any) => itEthIfWithPallet(name, required, cb, {skip: true});83itEth.ifWithPallets = itEthIfWithPallet;tests/src/pallet-presence.test.tsdiffbeforeafterboth--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -62,7 +62,7 @@
const chain = await helper.callRpc('api.rpc.system.chain', []);
const refungible = 'refungible';
- const scheduler = 'scheduler';
+ // const scheduler = 'scheduler';
const foreignAssets = 'foreignassets';
const rmrkPallets = ['rmrkcore', 'rmrkequip'];
const appPromotion = 'apppromotion';
@@ -70,7 +70,7 @@
if (chain.eq('OPAL by UNIQUE')) {
requiredPallets.push(
refungible,
- scheduler,
+ // scheduler,
foreignAssets,
appPromotion,
...rmrkPallets,