From b278b7e1c230cb03a7644cdd76a197d43fee5b38 Mon Sep 17 00:00:00 2001 From: Fahrrader Date: Fri, 13 May 2022 13:18:52 +0000 Subject: [PATCH] test(structure): extra nesting + properties refactoring --- --- a/tests/src/createItem.test.ts +++ b/tests/src/createItem.test.ts @@ -144,7 +144,6 @@ it('User doesnt have editing rights', async () => { await usingApi(async api => { - const createMode = 'NFT'; const newCollectionID = await createCollectionWithPropsExpectSuccess({propPerm: [{key: 'key1', mutable: true, collectionAdmin: false, tokenOwner: false}]}); const token = await createItemExpectSuccess(alice, newCollectionID, 'NFT'); --- a/tests/src/createMultipleItems.test.ts +++ b/tests/src/createMultipleItems.test.ts @@ -146,7 +146,6 @@ const itemsListIndexBefore = await getLastTokenId(api, collectionId); expect(itemsListIndexBefore).to.be.equal(0); const alice = privateKey('//Alice'); - const bob = privateKey('//Bob'); const args = [{Nft: {const_data: '0x31', variable_data: '0x31'}}, {Nft: {const_data: '0x32', variable_data: '0x32'}}, {Nft: {const_data: '0x33', variable_data: '0x33'}}]; @@ -182,7 +181,6 @@ const itemsListIndexBefore = await getLastTokenId(api, collectionId); expect(itemsListIndexBefore).to.be.equal(0); const alice = privateKey('//Alice'); - const bob = privateKey('//Bob'); const args = [{Nft: {const_data: '0x31', variable_data: '0x31'}}, {Nft: {const_data: '0x32', variable_data: '0x32'}}, {Nft: {const_data: '0x33', variable_data: '0x33'}}]; @@ -218,7 +216,6 @@ const itemsListIndexBefore = await getLastTokenId(api, collectionId); expect(itemsListIndexBefore).to.be.equal(0); const alice = privateKey('//Alice'); - const bob = privateKey('//Bob'); const args = [{Nft: {const_data: '0x31', variable_data: '0x31'}}, {Nft: {const_data: '0x32', variable_data: '0x32'}}, {Nft: {const_data: '0x33', variable_data: '0x33'}}]; --- a/tests/src/nesting/migration-check.test.ts +++ b/tests/src/nesting/migration-check.test.ts @@ -8,8 +8,8 @@ // Used for polkadot-launch signalling import find from 'find-process'; -// todo skip -describe('Migration testing for pallet-common', () => { +// todo un-skip for migrations +describe.skip('Migration testing for pallet-common', () => { let alice: IKeyringPair; before(async() => { @@ -63,16 +63,33 @@ }); // And wait for the parachain upgrade - while (newVersion == oldVersion! && connectionFailCounter < 2) { - try { - await usingApi(async api => { - await waitNewBlocks(api); - newVersion = (api.consts.system.version.toJSON() as any).specVersion; - }); - } catch (_) { - connectionFailCounter++; - console.log(`Still waiting for the parachain upgrade from ${oldVersion!}...`); - await new Promise(resolve => setTimeout(resolve, 12000)); + { + // Catch warnings like 'RPC methods not decorated' and keep the 'waiting' message in front + const stdlog = console.warn.bind(console); + let warnCount = 0; + console.warn = function(...args){ + if (arguments.length <= 2 || !args[2].includes('RPC methods not decorated')) { + warnCount++; + stdlog.apply(console, args as any); + } + }; + + let oldWarnCount = 0; + while (newVersion == oldVersion! && connectionFailCounter < 2) { + try { + await usingApi(async api => { + await waitNewBlocks(api); + newVersion = (api.consts.system.version.toJSON() as any).specVersion; + if (warnCount > oldWarnCount) { + console.log(`Still waiting for the parachain upgrade from ${oldVersion!}...`); + oldWarnCount = warnCount; + } + await new Promise(resolve => setTimeout(resolve, 6000)); + }); + } catch (_) { + connectionFailCounter++; + await new Promise(resolve => setTimeout(resolve, 12000)); + } } } --- a/tests/src/nesting/nest.test.ts +++ b/tests/src/nesting/nest.test.ts @@ -9,8 +9,7 @@ enableAllowListExpectSuccess, enablePublicMintingExpectSuccess, getTokenOwner, - getTopmostTokenOwner, - normalizeAccountId, + getTopmostTokenOwner, setCollectionLimitsExpectSuccess, transferExpectFailure, transferExpectSuccess, @@ -23,7 +22,7 @@ describe('Integration Test: Nesting', () => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -196,7 +195,7 @@ describe('Negative Test: Nesting', async() => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -212,14 +211,11 @@ const nestedToken1 = await createItemExpectSuccess(alice, collection, 'NFT', {Ethereum: tokenIdToAddress(collection, targetToken)}); const nestedToken2 = await createItemExpectSuccess(alice, collection, 'NFT', {Ethereum: tokenIdToAddress(collection, nestedToken1)}); // The nesting depth is limited by 2 - await expect(executeTransaction( - api, alice, - api.tx.unique.createItem( - collection, - {Ethereum: tokenIdToAddress(collection, nestedToken2)}, + await expect(executeTransaction(api, alice, api.tx.unique.createItem( + collection, + {Ethereum: tokenIdToAddress(collection, nestedToken2)}, {nft: {const_data: [], variable_data: []}} as any, - ), - ), 'while creating nested token').to.be.rejectedWith(/^structure\.DepthLimit$/); // OuroborosDetected? + )), 'while creating nested token').to.be.rejectedWith(/^structure\.DepthLimit$/); expect(await getTopmostTokenOwner(api, collection, nestedToken2)).to.be.deep.equal({Substrate: alice.address}); }); @@ -234,24 +230,16 @@ const targetToken = await createItemExpectSuccess(alice, collection, 'NFT'); // Try to create a nested token - await expect(executeTransaction( - api, alice, - api.tx.unique.createItem( - collection, - {Ethereum: tokenIdToAddress(collection, targetToken)}, + await expect(executeTransaction(api, alice, api.tx.unique.createItem( + collection, + {Ethereum: tokenIdToAddress(collection, targetToken)}, {nft: {const_data: [], variable_data: []}} as any, - ), - ), 'while creating nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/); + )), 'while creating nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/); // Create a token to be nested const newToken = await createItemExpectSuccess(alice, collection, 'NFT'); // Try to nest - await expect(executeTransaction( - api, alice, - api.tx.unique.transfer( - normalizeAccountId({Ethereum: tokenIdToAddress(collection, targetToken)}), collection, newToken, 1, - ), - ), 'while nesting new token').to.be.rejectedWith(/common\.NestingIsDisabled/); // todo to.be.rejected for all + await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.NestingIsDisabled/); expect(await getTopmostTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: alice.address}); expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: alice.address}); }); @@ -270,23 +258,15 @@ const targetToken = await createItemExpectSuccess(bob, collection, 'NFT'); // Try to create a nested token in the wrong collection - await expect(executeTransaction( - api, alice, - api.tx.unique.createItem( - collection, - {Ethereum: tokenIdToAddress(collection, targetToken)}, + await expect(executeTransaction(api, alice, api.tx.unique.createItem( + collection, + {Ethereum: tokenIdToAddress(collection, targetToken)}, {nft: {const_data: [], variable_data: []}} as any, - ), - ), 'while creating nested token').to.be.rejectedWith(/structure\.DepthLimit/); // todo NestingIsDisabled? + )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collection, 'NFT'); - await expect(executeTransaction( - api, alice, - api.tx.unique.transfer( - normalizeAccountId({Ethereum: tokenIdToAddress(collection, targetToken)}), collection, newToken, 1, - ), - ), 'while nesting new token').to.be.rejectedWith(/common\.AddressNotInAllowlist/); + await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.AddressNotInAllowlist/); expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: alice.address}); }); }); @@ -304,23 +284,15 @@ const targetToken = await createItemExpectSuccess(bob, collection, 'NFT'); // Try to create a nested token in the wrong collection - await expect(executeTransaction( - api, alice, - api.tx.unique.createItem( - collection, - {Ethereum: tokenIdToAddress(collection, targetToken)}, + await expect(executeTransaction(api, alice, api.tx.unique.createItem( + collection, + {Ethereum: tokenIdToAddress(collection, targetToken)}, {nft: {const_data: [], variable_data: []}} as any, - ), - ), 'while creating nested token').to.be.rejectedWith(/structure\.DepthLimit/); + )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collection, 'NFT'); - await expect(executeTransaction( - api, alice, - api.tx.unique.transfer( - normalizeAccountId({Ethereum: tokenIdToAddress(collection, targetToken)}), collection, newToken, 1, - ), - ), 'while nesting new token').to.be.rejectedWith(/common\.AddressNotInAllowlist/); + await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.AddressNotInAllowlist/); expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: alice.address}); }); }); @@ -334,23 +306,15 @@ const targetToken = await createItemExpectSuccess(alice, collection, 'NFT'); // Try to create a nested token in the wrong collection - await expect(executeTransaction( - api, alice, - api.tx.unique.createItem( - collection, - {Ethereum: tokenIdToAddress(collection, targetToken)}, + await expect(executeTransaction(api, alice, api.tx.unique.createItem( + collection, + {Ethereum: tokenIdToAddress(collection, targetToken)}, {nft: {const_data: [], variable_data: []}} as any, - ), - ), 'while creating nested token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); + )), 'while creating nested token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collection, 'NFT'); - await expect(executeTransaction( - api, alice, - api.tx.unique.transfer( - normalizeAccountId({Ethereum: tokenIdToAddress(collection, targetToken)}), collection, newToken, 1, - ), - ), 'while nesting new token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); + await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collection, targetToken)}, collection, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); expect(await getTokenOwner(api, collection, newToken)).to.be.deep.equal({Substrate: alice.address}); }); }); @@ -367,24 +331,21 @@ const collectionFT = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); // Try to create a nested token - await expect(executeTransaction( - api, alice, - api.tx.unique.createItem( - collectionFT, - targetAddress, - {Fungible: {Value: 10}}, - ) - ), 'while creating nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/); - + await expect(executeTransaction(api, alice, api.tx.unique.createItem( + collectionFT, + targetAddress, + {Fungible: {Value: 10}}, + )), 'while creating nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/); + // Create a token to be nested const newToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible'); // Try to nest - await expect(executeTransaction( - api, alice, - api.tx.unique.transfer( - normalizeAccountId({Ethereum: tokenIdToAddress(collectionFT, targetToken)}), collectionFT, newToken, 1, - ), - ), 'while nesting new token').to.be.rejectedWith(/fungible\.FungibleDisallowsNesting/); + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.NestingIsDisabled/); + + // Create another token to be nested + const newToken2 = await createItemExpectSuccess(alice, collectionFT, 'Fungible'); + // Try to nest inside a fungible token + await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collectionFT, newToken)}, collectionFT, newToken2, 1)), 'while nesting new token inside fungible').to.be.rejectedWith(/fungible\.FungibleDisallowsNesting/); }); }); @@ -404,31 +365,21 @@ const collectionFT = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); // Try to create a nested token in the wrong collection - await expect(executeTransaction( - api, alice, - api.tx.unique.createItem( - collectionFT, - targetAddress, - {Fungible: {Value: 10}}, - ) - ), 'while creating nested token').to.be.rejectedWith(/structure\.DepthLimit/); + await expect(executeTransaction(api, alice, api.tx.unique.createItem( + collectionFT, + targetAddress, + {Fungible: {Value: 10}}, + )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible'); - await expect(executeTransaction( - api, alice, - api.tx.unique.transfer( - normalizeAccountId({Ethereum: tokenIdToAddress(collectionFT, targetToken)}), collectionFT, newToken, 1, - ), - ), 'while nesting new token').to.be.rejectedWith(/fungible\.FungibleDisallowsNesting/); + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); }); }); it('Fungible: disallows a non-Owner to nest someone else\'s token (Restricted nesting)', async () => { await usingApi(async api => { const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); - await setCollectionLimitsExpectSuccess(alice, collectionNFT, {nestingRule: {OwnerRestricted:[collectionNFT]}}); // todo clear redundant restrictions? - await addToAllowListExpectSuccess(alice, collectionNFT, bob.address); await enableAllowListExpectSuccess(alice, collectionNFT); await enablePublicMintingExpectSuccess(alice, collectionNFT); @@ -438,17 +389,18 @@ const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)}; const collectionFT = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); + await setCollectionLimitsExpectSuccess(alice, collectionNFT, {nestingRule: {OwnerRestricted:[collectionFT]}}); // Try to create a nested token in the wrong collection await expect(executeTransaction(api, alice, api.tx.unique.createItem( collectionFT, targetAddress, {Fungible: {Value: 10}}, - ))).to.be.rejected; + )), 'while creating nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible'); - await transferExpectFailure(collectionFT, newToken, alice, targetAddress, 1); + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); }); }); @@ -468,11 +420,11 @@ collectionFT, targetAddress, {Fungible: {Value: 10}}, - ))).to.be.rejected; + )), 'while creating a nested token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible'); - await transferExpectFailure(collectionFT, newToken, alice, targetAddress, 1); + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); }); }); @@ -492,12 +444,19 @@ collectionRFT, targetAddress, {ReFungible: {const_data: [], pieces: 100}}, - ))).to.be.rejectedWith(/^common\.NestingIsDisabled$/); + )), 'while creating a nested token').to.be.rejectedWith(/^common\.NestingIsDisabled$/); // Create a token to be nested const newToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible'); // Try to nest await transferExpectFailure(collectionRFT, newToken, alice, targetAddress, 100); + // Try to nest + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.NestingIsDisabled/); + + // Create another token to be nested + const newToken2 = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible'); + // Try to nest inside a fungible token + await expect(executeTransaction(api, alice, api.tx.unique.transfer({Ethereum: tokenIdToAddress(collectionRFT, newToken)}, collectionRFT, newToken2, 1)), 'while nesting new token inside refungible').to.be.rejectedWith(/refungible\.RefungibleDisallowsNesting/); }); }); @@ -521,19 +480,17 @@ collectionRFT, targetAddress, {ReFungible: {const_data: [], pieces: 100}}, - ))).to.be.rejected; + )), 'while creating a nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible'); - await transferExpectFailure(collectionRFT, newToken, alice, targetAddress, 100); + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); }); }); it('ReFungible: disallows a non-Owner to nest someone else\'s token (Restricted nesting)', async () => { await usingApi(async api => { const collectionNFT = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); - await setCollectionLimitsExpectSuccess(alice, collectionNFT, {nestingRule: {OwnerRestricted:[collectionNFT]}}); - await addToAllowListExpectSuccess(alice, collectionNFT, bob.address); await enableAllowListExpectSuccess(alice, collectionNFT); await enablePublicMintingExpectSuccess(alice, collectionNFT); @@ -543,17 +500,18 @@ const targetAddress = {Ethereum: tokenIdToAddress(collectionNFT, targetToken)}; const collectionRFT = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}}); + await setCollectionLimitsExpectSuccess(alice, collectionNFT, {nestingRule: {OwnerRestricted:[collectionRFT]}}); // Try to create a nested token in the wrong collection await expect(executeTransaction(api, alice, api.tx.unique.createItem( collectionRFT, targetAddress, {ReFungible: {const_data: [], pieces: 100}}, - ))).to.be.rejected; + )), 'while creating a nested token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible'); - await transferExpectFailure(collectionRFT, newToken, alice, targetAddress, 100); + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.OnlyOwnerAllowedToNest/); }); }); @@ -573,11 +531,11 @@ collectionRFT, targetAddress, {ReFungible: {const_data: [], pieces: 100}}, - ))).to.be.rejected; + )), 'while creating a nested token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); // Try to create and nest a token in the wrong collection const newToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible'); - await transferExpectFailure(collectionRFT, newToken, alice, targetAddress, 100); + await expect(executeTransaction(api, alice, api.tx.unique.transfer(targetAddress, collectionRFT, newToken, 1)), 'while nesting new token').to.be.rejectedWith(/common\.SourceCollectionIsNotAllowedToNest/); }); }); }); --- a/tests/src/nesting/properties.test.ts +++ b/tests/src/nesting/properties.test.ts @@ -18,7 +18,7 @@ describe('Integration Test: Collection Properties', () => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -113,7 +113,7 @@ describe('Negative Integration Test: Collection Properties', () => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -213,13 +213,13 @@ api, alice, api.tx.unique.setCollectionProperties(collection, [{key: '', value: 'nothing must not exist'}]), - ), `on rejecting an unnamed property`).to.be.rejectedWith(/common\.EmptyPropertyKey/); + ), 'on rejecting an unnamed property').to.be.rejectedWith(/common\.EmptyPropertyKey/); await expect(executeTransaction( api, alice, api.tx.unique.setCollectionProperties(collection, [ - {key: 'CRISPR-Cas9', value: 'rewriting nature!'} + {key: 'CRISPR-Cas9', value: 'rewriting nature!'}, ]), ), 'on setting the correctly-but-still-badly-named property').to.not.be.rejected; @@ -245,7 +245,7 @@ describe('Integration Test: Access Rights to Token Properties', () => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -311,7 +311,7 @@ describe('Negative Integration Test: Access Rights to Token Properties', () => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -400,7 +400,7 @@ api, alice, api.tx.unique.setPropertyPermissions(collection, [{key: '', permission: {}}]), - ), `on rejecting an unnamed property`).to.be.rejectedWith(/common\.EmptyPropertyKey/); + ), 'on rejecting an unnamed property').to.be.rejectedWith(/common\.EmptyPropertyKey/); const correctKey = '--0x03116e387820CA05'; // PolkadotJS would parse this as an already encoded hex-string await expect(executeTransaction( @@ -429,7 +429,7 @@ let permissions: {permission: any, signers: IKeyringPair[]}[]; before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); charlie = privateKey('//Charlie'); @@ -446,10 +446,12 @@ }); beforeEach(async () => { - collection = await createCollectionExpectSuccess(); - token = await createItemExpectSuccess(alice, collection, 'NFT'); - await addCollectionAdminExpectSuccess(alice, collection, bob.address); - await transferExpectSuccess(collection, token, alice, charlie); + await usingApi(async () => { + collection = await createCollectionExpectSuccess(); + token = await createItemExpectSuccess(alice, collection, 'NFT'); + await addCollectionAdminExpectSuccess(alice, collection, bob.address); + await transferExpectSuccess(collection, token, alice, charlie); + }); }); it('Reads yet empty properties of a token', async () => { @@ -592,7 +594,7 @@ let constitution: {permission: any, signers: IKeyringPair[], sinner: IKeyringPair}[]; before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); charlie = privateKey('//Charlie'); --- a/tests/src/nesting/unnest.test.ts +++ b/tests/src/nesting/unnest.test.ts @@ -4,11 +4,9 @@ import usingApi, {executeTransaction} from '../substrate/substrate-api'; import { createCollectionExpectSuccess, - createItemExpectFailure, createItemExpectSuccess, getBalance, getTokenOwner, - getTopmostTokenOwner, normalizeAccountId, setCollectionLimitsExpectSuccess, transferExpectSuccess, @@ -21,7 +19,7 @@ describe('Integration Test: Unnesting', () => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -112,7 +110,7 @@ describe('Negative Test: Unnesting', () => { before(async () => { - await usingApi(async api => { + await usingApi(async () => { alice = privateKey('//Alice'); bob = privateKey('//Bob'); }); @@ -133,7 +131,7 @@ api, bob, api.tx.unique.transferFrom(normalizeAccountId(targetAddress), normalizeAccountId(bob), collection, nestedToken, 1), - ), 'while unnesting').to.be.rejectedWith(/^structure\.DepthLimit$/); // todo ApprovedValueTooLow? + ), 'while unnesting').to.be.rejectedWith(/^common\.ApprovedValueTooLow$/); expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()}); // Try to burn --- a/tests/src/util/helpers.ts +++ b/tests/src/util/helpers.ts @@ -427,7 +427,6 @@ export async function createCollectionWithPropsExpectFailure(params: Partial = {}) { const {name, description, mode, tokenPrefix} = {...defaultCreateCollectionParams, ...params}; - const collectionId = 0; await usingApi(async (api) => { // Get number of collections before the transaction const collectionCountBefore = await getCreatedCollectionCount(api); -- gitstuff