difftreelog
fix move RMRK needed parts of deprecated helpers
in: master
20 files changed
tests/src/rmrk/acceptNft.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/acceptNft.test.ts
+++ b/tests/src/rmrk/acceptNft.test.ts
@@ -7,8 +7,7 @@
acceptNft,
} from './util/tx';
import {NftIdTuple} from './util/fetch';
-import {isNftChildOfAnother, expectTxFailure} from './util/helpers';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
+import {isNftChildOfAnother, expectTxFailure, requirePallets, Pallets} from './util/helpers';
describe('integration test: accept NFT', () => {
let api: any;
tests/src/rmrk/addResource.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/addResource.test.ts
+++ b/tests/src/rmrk/addResource.test.ts
@@ -1,7 +1,7 @@
import {expect} from 'chai';
import {getApiConnection} from '../substrate/substrate-api';
import {NftIdTuple} from './util/fetch';
-import {expectTxFailure, getResourceById} from './util/helpers';
+import {expectTxFailure, getResourceById, requirePallets, Pallets} from './util/helpers';
import {
addNftBasicResource,
acceptNftResource,
@@ -12,7 +12,6 @@
addNftComposableResource,
} from './util/tx';
import {RmrkTraitsResourceResourceInfo as ResourceInfo} from '@polkadot/types/lookup';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
describe('integration test: add NFT resource', () => {
const Alice = '//Alice';
tests/src/rmrk/addTheme.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/addTheme.test.ts
+++ b/tests/src/rmrk/addTheme.test.ts
@@ -1,9 +1,8 @@
import {expect} from 'chai';
import {getApiConnection} from '../substrate/substrate-api';
import {createBase, addTheme} from './util/tx';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {getThemeNames} from './util/fetch';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
describe('integration test: add Theme to Base', () => {
let api: any;
tests/src/rmrk/burnNft.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/burnNft.test.ts
+++ b/tests/src/rmrk/burnNft.test.ts
@@ -1,11 +1,10 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {NftIdTuple, getChildren} from './util/fetch';
import {burnNft, createCollection, sendNft, mintNft} from './util/tx';
import chai from 'chai';
import chaiAsPromised from 'chai-as-promised';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
chai.use(chaiAsPromised);
const expect = chai.expect;
tests/src/rmrk/changeCollectionIssuer.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/changeCollectionIssuer.test.ts
+++ b/tests/src/rmrk/changeCollectionIssuer.test.ts
@@ -1,6 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {
changeIssuer,
createCollection,
tests/src/rmrk/createBase.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/createBase.test.ts
+++ b/tests/src/rmrk/createBase.test.ts
@@ -1,5 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
+import {requirePallets, Pallets} from './util/helpers';
import {createCollection, createBase} from './util/tx';
describe('integration test: create new Base', () => {
tests/src/rmrk/createCollection.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/createCollection.test.ts
+++ b/tests/src/rmrk/createCollection.test.ts
@@ -1,5 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
+import {requirePallets, Pallets} from './util/helpers';
import {createCollection} from './util/tx';
describe('Integration test: create new collection', () => {
tests/src/rmrk/deleteCollection.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/deleteCollection.test.ts
+++ b/tests/src/rmrk/deleteCollection.test.ts
@@ -1,6 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {createCollection, deleteCollection} from './util/tx';
describe('integration test: delete collection', () => {
tests/src/rmrk/equipNft.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/equipNft.test.ts
+++ b/tests/src/rmrk/equipNft.test.ts
@@ -1,9 +1,8 @@
import {ApiPromise} from '@polkadot/api';
import {expect} from 'chai';
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
import {getNft, getParts, NftIdTuple} from './util/fetch';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {
addNftComposableResource,
addNftSlotResource,
tests/src/rmrk/getOwnedNfts.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/getOwnedNfts.test.ts
+++ b/tests/src/rmrk/getOwnedNfts.test.ts
@@ -1,6 +1,6 @@
import {expect} from 'chai';
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
+import {requirePallets, Pallets} from './util/helpers';
import {getOwnedNfts} from './util/fetch';
import {mintNft, createCollection} from './util/tx';
tests/src/rmrk/lockCollection.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/lockCollection.test.ts
+++ b/tests/src/rmrk/lockCollection.test.ts
@@ -1,6 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {createCollection, lockCollection, mintNft} from './util/tx';
describe('integration test: lock collection', () => {
tests/src/rmrk/mintNft.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/mintNft.test.ts
+++ b/tests/src/rmrk/mintNft.test.ts
@@ -1,8 +1,7 @@
import {expect} from 'chai';
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
import {getNft} from './util/fetch';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {createCollection, mintNft} from './util/tx';
describe('integration test: mint new NFT', () => {
tests/src/rmrk/rejectNft.test.tsdiffbeforeafterboth1import {expect} from 'chai';2import {getApiConnection} from '../substrate/substrate-api';3import {4 createCollection,5 mintNft,6 sendNft,7 rejectNft,8} from './util/tx';9import {getChildren, NftIdTuple} from './util/fetch';10import {isNftChildOfAnother, expectTxFailure} from './util/helpers';11import {requirePallets, Pallets} from '../deprecated-helpers/helpers';1213describe('integration test: reject NFT', () => {14 let api: any;15 before(async function () {16 api = await getApiConnection();17 await requirePallets(this, [Pallets.RmrkCore]);18 });19202122 const alice = '//Alice';23 const bob = '//Bob';2425 const createTestCollection = async (issuerUri: string) => {26 return await createCollection(27 api,28 issuerUri,29 'reject-metadata',30 null,31 'rjct',32 );33 };3435 it('reject NFT', async () => {36 const ownerAlice = alice;37 const ownerBob = bob;3839 const aliceCollectionId = await createTestCollection(alice);40 const bobCollectionId = await createTestCollection(bob);4142 const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');43 const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');4445 const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];4647 await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);48 await rejectNft(api, alice, bobCollectionId, childNftId);4950 const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);51 expect(isChild, 'Error: rejected NFT is still a child of the target NFT').to.be.false;52 });5354 it('[negative] unable to reject NFT by a not-an-owner', async () => {55 const ownerAlice = alice;56 const ownerBob = bob;5758 const aliceCollectionId = await createTestCollection(alice);59 const bobCollectionId = await createTestCollection(bob);6061 const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');62 const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');6364 const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];6566 await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);67 const tx = rejectNft(api, bob, bobCollectionId, childNftId);6869 await expectTxFailure(/rmrkCore\.CannotRejectNonOwnedNft/, tx);70 });7172 it('[negative] unable to reject non-existing NFT', async () => {73 const maxNftId = 0xFFFFFFFF;7475 const collectionId = await createTestCollection(alice);7677 const tx = rejectNft(api, alice, collectionId, maxNftId);7879 await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);80 });8182 it('[negative] unable to reject NFT which is not sent', async () => {83 const ownerAlice = alice;8485 const collectionId = await createTestCollection(alice);8687 const nftId = await mintNft(api, alice, ownerAlice, collectionId, 'parent-nft-metadata');8889 const tx = rejectNft(api, alice, collectionId, nftId);9091 await expectTxFailure(/rmrkCore\.CannotRejectNonPendingNft/, tx);92 });9394 after(() => { api.disconnect(); });95});1import {expect} from 'chai';2import {getApiConnection} from '../substrate/substrate-api';3import {4 createCollection,5 mintNft,6 sendNft,7 rejectNft,8} from './util/tx';9import {getChildren, NftIdTuple} from './util/fetch';10import {isNftChildOfAnother, expectTxFailure, requirePallets, Pallets} from './util/helpers';1112describe('integration test: reject NFT', () => {13 let api: any;14 before(async function () {15 api = await getApiConnection();16 await requirePallets(this, [Pallets.RmrkCore]);17 });18192021 const alice = '//Alice';22 const bob = '//Bob';2324 const createTestCollection = async (issuerUri: string) => {25 return await createCollection(26 api,27 issuerUri,28 'reject-metadata',29 null,30 'rjct',31 );32 };3334 it('reject NFT', async () => {35 const ownerAlice = alice;36 const ownerBob = bob;3738 const aliceCollectionId = await createTestCollection(alice);39 const bobCollectionId = await createTestCollection(bob);4041 const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');42 const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');4344 const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];4546 await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);47 await rejectNft(api, alice, bobCollectionId, childNftId);4849 const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);50 expect(isChild, 'Error: rejected NFT is still a child of the target NFT').to.be.false;51 });5253 it('[negative] unable to reject NFT by a not-an-owner', async () => {54 const ownerAlice = alice;55 const ownerBob = bob;5657 const aliceCollectionId = await createTestCollection(alice);58 const bobCollectionId = await createTestCollection(bob);5960 const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');61 const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');6263 const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];6465 await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);66 const tx = rejectNft(api, bob, bobCollectionId, childNftId);6768 await expectTxFailure(/rmrkCore\.CannotRejectNonOwnedNft/, tx);69 });7071 it('[negative] unable to reject non-existing NFT', async () => {72 const maxNftId = 0xFFFFFFFF;7374 const collectionId = await createTestCollection(alice);7576 const tx = rejectNft(api, alice, collectionId, maxNftId);7778 await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);79 });8081 it('[negative] unable to reject NFT which is not sent', async () => {82 const ownerAlice = alice;8384 const collectionId = await createTestCollection(alice);8586 const nftId = await mintNft(api, alice, ownerAlice, collectionId, 'parent-nft-metadata');8788 const tx = rejectNft(api, alice, collectionId, nftId);8990 await expectTxFailure(/rmrkCore\.CannotRejectNonPendingNft/, tx);91 });9293 after(() => { api.disconnect(); });94});tests/src/rmrk/removeResource.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/removeResource.test.ts
+++ b/tests/src/rmrk/removeResource.test.ts
@@ -1,9 +1,8 @@
import {expect} from 'chai';
import privateKey from '../substrate/privateKey';
import {executeTransaction, getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
import {getNft, NftIdTuple} from './util/fetch';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {
acceptNft, acceptResourceRemoval, addNftBasicResource,
createBase,
tests/src/rmrk/sendNft.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/sendNft.test.ts
+++ b/tests/src/rmrk/sendNft.test.ts
@@ -2,8 +2,7 @@
import {getApiConnection} from '../substrate/substrate-api';
import {createCollection, mintNft, sendNft} from './util/tx';
import {NftIdTuple} from './util/fetch';
-import {isNftChildOfAnother, expectTxFailure} from './util/helpers';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
+import {isNftChildOfAnother, expectTxFailure, requirePallets, Pallets} from './util/helpers';
describe('integration test: send NFT', () => {
let api: any;
tests/src/rmrk/setCollectionProperty.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/setCollectionProperty.test.ts
+++ b/tests/src/rmrk/setCollectionProperty.test.ts
@@ -1,6 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {createCollection, setPropertyCollection} from './util/tx';
describe('integration test: set collection property', () => {
tests/src/rmrk/setEquippableList.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/setEquippableList.test.ts
+++ b/tests/src/rmrk/setEquippableList.test.ts
@@ -1,6 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {createCollection, createBase, setEquippableList} from './util/tx';
describe("integration test: set slot's Equippable List", () => {
tests/src/rmrk/setNftProperty.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/setNftProperty.test.ts
+++ b/tests/src/rmrk/setNftProperty.test.ts
@@ -1,7 +1,6 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
import {NftIdTuple} from './util/fetch';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {createCollection, mintNft, sendNft, setNftProperty} from './util/tx';
describe('integration test: set NFT property', () => {
tests/src/rmrk/setResourcePriorities.test.tsdiffbeforeafterboth--- a/tests/src/rmrk/setResourcePriorities.test.ts
+++ b/tests/src/rmrk/setResourcePriorities.test.ts
@@ -1,6 +1,5 @@
import {getApiConnection} from '../substrate/substrate-api';
-import {requirePallets, Pallets} from '../deprecated-helpers/helpers';
-import {expectTxFailure} from './util/helpers';
+import {expectTxFailure, requirePallets, Pallets} from './util/helpers';
import {mintNft, createCollection, setResourcePriorities} from './util/tx';
describe('integration test: set NFT resource priorities', () => {
tests/src/rmrk/util/helpers.tsdiffbeforeafterboth--- a/tests/src/rmrk/util/helpers.ts
+++ b/tests/src/rmrk/util/helpers.ts
@@ -10,6 +10,8 @@
import {NftIdTuple, getChildren, getOwnedNfts, getCollectionProperties, getNftProperties, getResources} from './fetch';
import chaiAsPromised from 'chai-as-promised';
import chai from 'chai';
+import {getApiConnection} from '../../substrate/substrate-api';
+import {Context} from 'mocha';
chai.use(chaiAsPromised);
const expect = chai.expect;
@@ -19,6 +21,45 @@
successData: T | null;
}
+export enum Pallets {
+ Inflation = 'inflation',
+ RmrkCore = 'rmrkcore',
+ RmrkEquip = 'rmrkequip',
+ ReFungible = 'refungible',
+ Fungible = 'fungible',
+ NFT = 'nonfungible',
+ Scheduler = 'scheduler',
+ AppPromotion = 'apppromotion',
+}
+
+let modulesNames: any;
+export function getModuleNames(api: ApiPromise): string[] {
+ if (typeof modulesNames === 'undefined')
+ modulesNames = api.runtimeMetadata.asLatest.pallets.map(m => m.name.toString().toLowerCase());
+ return modulesNames;
+}
+
+export async function missingRequiredPallets(requiredPallets: string[]): Promise<string[]> {
+ const api = await getApiConnection();
+ const pallets = getModuleNames(api);
+
+ return requiredPallets.filter(p => !pallets.includes(p));
+}
+
+export async function requirePallets(mocha: Context, requiredPallets: string[]) {
+ const missingPallets = await missingRequiredPallets(requiredPallets);
+
+ if (missingPallets.length > 0) {
+ const skippingTestMsg = `\tSkipping test "${mocha.test?.title}".`;
+ const missingPalletsMsg = `\tThe following pallets are missing:\n\t- ${missingPallets.join('\n\t- ')}`;
+ const skipMsg = `${skippingTestMsg}\n${missingPalletsMsg}`;
+
+ console.error('\x1b[38:5:208m%s\x1b[0m', skipMsg);
+
+ mocha.skip();
+ }
+}
+
export function makeNftOwner(api: ApiPromise, owner: string | NftIdTuple): NftOwner {
const isNftSending = (typeof owner !== 'string');