1<!doctype html>2<html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Mochawesome Report</title><link rel="stylesheet" href="assets/app.css"/></head><body data-raw="{"stats":{"suites":0,"tests":0,"passes":0,"pending":0,"failures":0,"start":"2021-09-08T12:24:24.749Z","end":"2021-09-08T12:24:24.775Z","duration":26,"testsRegistered":363,"passPercent":0,"pendingPercent":0,"other":1,"hasOther":true,"skipped":363,"hasSkipped":true},"results":[{"uuid":"60720f68-c599-4517-bbe5-4c355843c456","title":"","fullFile":"","file":"","beforeHooks":[{"title":"\"before all\" hook in \"{root}\"","fullTitle":"\"before all\" hook in \"{root}\"","timedOut":false,"duration":20,"state":"failed","pass":false,"fail":true,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Ferdie = privateKey_1.default('//Ferdie');\n});","err":{"message":"Error: the object {\n \"_yaeti\": true\n \"cancelable\": true\n \"isTrusted\": false\n \"stopImmediatePropagation\": [Function]\n \"target\": {\n \"_binaryType\": \"arraybuffer\"\n \"_bufferedAmount\": 0\n \"_client\": {\n \"_events\": {}\n \"_eventsCount\": 0\n \"_maxListeners\": [undefined]\n \"_req\": [null]\n \"base64nonce\": \"2bcUD3AqQVk1QNSE5Wi2wA==\"\n \"config\": {\n \"assembleFragments\": true\n \"closeTimeout\": 5000\n \"disableNagleAlgorithm\": true\n \"fragmentOutgoingMessages\": true\n \"fragmentationThreshold\": 262144\n \"maxReceivedFrameSize\": 1048576\n \"maxReceivedMessageSize\": 16777216\n \"tlsOptions\": {}\n \"webSocketVersion\": 13\n }\n \"origin\": [undefined]\n \"protocols\": []\n \"secure\": false\n \"url\": {\n \"auth\": [null]\n \"hash\": [null]\n \"host\": \"172.17.0.1:9944\"\n \"hostname\": \"172.17.0.1\"\n \"href\": \"ws://172.17.0.1:9944/\"\n \"path\": \"/\"\n \"pathname\": \"/\"\n \"port\": \"9944\"\n \"protocol\": \"ws:\"\n \"query\": [null]\n \"search\": [null]\n \"slashes\": true\n }\n }\n \"_connection\": [undefined]\n \"_extensions\": \"\"\n \"_listeners\": {}\n \"_protocol\": [undefined]\n \"_readyState\": 3\n \"_url\": \"ws://172.17.0.1:9944\"\n \"addEventListener\": [Function]\n \"dispatchEvent\": [Function]\n \"onclose\": [null]\n \"onerror\": [null]\n \"onmessage\": [null]\n \"onopen\": [null]\n \"removeEventListener\": [Function]\n }\n \"type\": \"error\"\n} was thrown, throw an Error :)","estack":"Error: the object {\n \"_yaeti\": true\n \"cancelable\": true\n \"isTrusted\": false\n \"stopImmediatePropagation\": [Function]\n \"target\": {\n \"_binaryType\": \"arraybuffer\"\n \"_bufferedAmount\": 0\n \"_client\": {\n \"_events\": {}\n \"_eventsCount\": 0\n \"_maxListeners\": [undefined]\n \"_req\": [null]\n \"base64nonce\": \"2bcUD3AqQVk1QNSE5Wi2wA==\"\n \"config\": {\n \"assembleFragments\": true\n \"closeTimeout\": 5000\n \"disableNagleAlgorithm\": true\n \"fragmentOutgoingMessages\": true\n \"fragmentationThreshold\": 262144\n \"maxReceivedFrameSize\": 1048576\n \"maxReceivedMessageSize\": 16777216\n \"tlsOptions\": {}\n \"webSocketVersion\": 13\n }\n \"origin\": [undefined]\n \"protocols\": []\n \"secure\": false\n \"url\": {\n \"auth\": [null]\n \"hash\": [null]\n \"host\": \"172.17.0.1:9944\"\n \"hostname\": \"172.17.0.1\"\n \"href\": \"ws://172.17.0.1:9944/\"\n \"path\": \"/\"\n \"pathname\": \"/\"\n \"port\": \"9944\"\n \"protocol\": \"ws:\"\n \"query\": [null]\n \"search\": [null]\n \"slashes\": true\n }\n }\n \"_connection\": [undefined]\n \"_extensions\": \"\"\n \"_listeners\": {}\n \"_protocol\": [undefined]\n \"_readyState\": 3\n \"_url\": \"ws://172.17.0.1:9944\"\n \"addEventListener\": [Function]\n \"dispatchEvent\": [Function]\n \"onclose\": [null]\n \"onerror\": [null]\n \"onmessage\": [null]\n \"onopen\": [null]\n \"removeEventListener\": [Function]\n }\n \"type\": \"error\"\n} was thrown, throw an Error :)\n at processTicksAndRejections (node:internal/process/task_queues:93:5)"},"uuid":"b2e6905c-e4c6-43b5-bac0-0a3077c70441","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Ferdie = privateKey_1.default('//Ferdie');\n Charlie = privateKey_1.default('//Charlie');\n Eve = privateKey_1.default('//Eve');\n Dave = privateKey_1.default('//Dave');\n});","err":{},"uuid":"b9b32b58-7e22-4714-b108-5c9eda9fe598","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"45d28530-d27d-4d82-9838-6541e2460bd6","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Ferdie = privateKey_1.default('//Ferdie');\n});","err":{},"uuid":"cb1fabc7-5c76-4e92-be50-fcfe5b7a6e64","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"3beb3f40-7ee3-4eae-985d-723c8158894d","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Ferdie = privateKey_1.default('//Ferdie');\n});","err":{},"uuid":"d6d32986-311a-42b1-afac-ae35b5465fad","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Ferdie = privateKey_1.default('//Ferdie');\n});","err":{},"uuid":"4d02f57a-8afc-4038-9dc1-6181713627f7","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"9414213c-23c1-420c-8b83-4e740c4cdd51","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Ferdie = privateKey_1.default('//Ferdie');\n});","err":{},"uuid":"7e618a73-068f-4b94-882b-149c20ddd16d","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Ferdie = privateKey_1.default('//Ferdie');\n});","err":{},"uuid":"32e886fe-0986-4853-865d-a17bf7becede","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n Alice = keyring.addFromUri('//Alice');\n Bob = keyring.addFromUri('//Bob');\n Shema = '0x31';\n largeShema = new Array(4097).fill(0xff);\n});","err":{},"uuid":"3f8d4bc9-df4d-4a56-ab5d-00eb990f88c8","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false},{"title":"\"before all\" hook","fullTitle":"\"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n Alice = keyring.addFromUri('//Alice');\n Bob = keyring.addFromUri('//Bob');\n Schema = '0x31';\n largeSchema = new Array(4097).fill(0xff);\n});","err":{},"uuid":"bda5978b-aea2-4c9d-8db9-010d66209065","parentUUID":"60720f68-c599-4517-bbe5-4c355843c456","isHook":true,"skipped":false}],"afterHooks":[],"tests":[],"suites":[{"uuid":"883d1f24-daf5-4795-b324-5ac4e4aba2fd","title":"Integration Test addCollectionAdmin(collection_id, new_admin_id):","fullFile":"/nft_parachain/tests/src/addCollectionAdmin.test.ts","file":"/src/addCollectionAdmin.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Add collection admin.","fullTitle":"Integration Test addCollectionAdmin(collection_id, new_admin_id): Add collection admin.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.equal(alice.address);\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(bob.address));\n await substrate_api_1.submitTransactionAsync(alice, changeAdminTx);\n const adminListAfterAddAdmin = (await api.query.nft.adminList(collectionId));\n expect(adminListAfterAddAdmin).to.be.contains(helpers_1.normalizeAccountId(bob.address));\n});","err":{},"uuid":"ae13d452-a347-4d9d-bd67-fb8f39016e9a","isHook":false,"skipped":true},{"title":"Add admin using added collection admin.","fullTitle":"Integration Test addCollectionAdmin(collection_id, new_admin_id): Add admin using added collection admin.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n const Charlie = privateKey_1.default('//CHARLIE');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.equal(Alice.address);\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx);\n const adminListAfterAddAdmin = (await api.query.nft.adminList(collectionId));\n expect(adminListAfterAddAdmin).to.be.contains(helpers_1.normalizeAccountId(Bob.address));\n const changeAdminTxCharlie = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Charlie.address));\n await substrate_api_1.submitTransactionAsync(Bob, changeAdminTxCharlie);\n const adminListAfterAddNewAdmin = (await api.query.nft.adminList(collectionId));\n expect(adminListAfterAddNewAdmin).to.be.contains(helpers_1.normalizeAccountId(Bob.address));\n expect(adminListAfterAddNewAdmin).to.be.contains(helpers_1.normalizeAccountId(Charlie.address));\n});","err":{},"uuid":"7bd5e167-dcc1-4b2a-b891-ce5813a9fb40","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["ae13d452-a347-4d9d-bd67-fb8f39016e9a","7bd5e167-dcc1-4b2a-b891-ce5813a9fb40"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5f947ba1-65c6-442f-b9f3-13186b004d6a","title":"Negative Integration Test addCollectionAdmin(collection_id, new_admin_id):","fullFile":"/nft_parachain/tests/src/addCollectionAdmin.test.ts","file":"/src/addCollectionAdmin.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Not owner can't add collection admin.","fullTitle":"Negative Integration Test addCollectionAdmin(collection_id, new_admin_id): Not owner can't add collection admin.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const nonOwner = privateKey_1.default('//Bob_stash');\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(alice.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(nonOwner, changeAdminTx)).to.be.rejected;\n const adminListAfterAddAdmin = (await api.query.nft.adminList(collectionId));\n expect(adminListAfterAddAdmin).not.to.be.contains(helpers_1.normalizeAccountId(alice.address));\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"ccd1505b-6b0b-4472-8d2c-d3a67b729421","isHook":false,"skipped":true},{"title":"Can't add collection admin of not existing collection.","fullTitle":"Negative Integration Test addCollectionAdmin(collection_id, new_admin_id): Can't add collection admin of not existing collection.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: no-bitwise\n const collectionId = (1 << 32) - 1;\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const changeOwnerTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(bob.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, changeOwnerTx)).to.be.rejected;\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"0e3a766b-610e-479f-821f-6ec97d977002","isHook":false,"skipped":true},{"title":"Can't add an admin to a destroyed collection.","fullTitle":"Negative Integration Test addCollectionAdmin(collection_id, new_admin_id): Can't add an admin to a destroyed collection.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n const changeOwnerTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, changeOwnerTx)).to.be.rejected;\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"fe525657-ebd6-47b9-8970-3dafaff61f5f","isHook":false,"skipped":true},{"title":"Add an admin to a collection that has reached the maximum number of admins limit","fullTitle":"Negative Integration Test addCollectionAdmin(collection_id, new_admin_id): Add an admin to a collection that has reached the maximum number of admins limit","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const Alice = privateKey_1.default('//Alice');\n const accounts = [\n 'GsvVmjr1CBHwQHw84pPHMDxgNY3iBLz6Qn7qS3CH8qPhrHz',\n 'FoQJpPyadYccjavVdTWxpxU7rUEaYhfLCPwXgkfD6Zat9QP',\n 'JKspFU6ohf1Grg3Phdzj2pSgWvsYWzSfKghhfzMbdhNBWs5',\n 'Fr4NzY1udSFFLzb2R3qxVQkwz9cZraWkyfH4h3mVVk7BK7P',\n 'DfnTB4z7eUvYRqcGtTpFsLC69o6tvBSC1pEv8vWPZFtCkaK',\n 'HnMAUz7r2G8G3hB27SYNyit5aJmh2a5P4eMdDtACtMFDbam',\n 'DE14BzQ1bDXWPKeLoAqdLAm1GpyAWaWF1knF74cEZeomTBM',\n ];\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const chainAdminLimit = api.consts.nft.collectionAdminsLimit.toNumber();\n expect(chainAdminLimit).to.be.equal(5);\n for (let i = 0; i < chainAdminLimit; i++) {\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(accounts[i]));\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx);\n const adminListAfterAddAdmin = (await api.query.nft.adminList(collectionId));\n expect(adminListAfterAddAdmin).to.be.contains(helpers_1.normalizeAccountId(accounts[i]));\n }\n const tx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(accounts[chainAdminLimit]));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, tx)).to.be.rejected;\n});","err":{},"uuid":"de058063-f5ef-43e7-9504-464decfd04e5","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["ccd1505b-6b0b-4472-8d2c-d3a67b729421","0e3a766b-610e-479f-821f-6ec97d977002","fe525657-ebd6-47b9-8970-3dafaff61f5f","de058063-f5ef-43e7-9504-464decfd04e5"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"db675fb6-e2f8-42d5-b6bf-4bc5fd860e90","title":"Integration Test addToContractWhiteList","fullFile":"/nft_parachain/tests/src/addToContractWhiteList.test.ts","file":"/src/addToContractWhiteList.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Add an address to a contract white list","fullTitle":"Integration Test addToContractWhiteList Add an address to a contract white list","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"4d4e712f-9ce7-4906-9c7c-ac319a2e9da2","isHook":false,"skipped":false},{"title":"Adding same address to white list repeatedly should not produce errors","fullTitle":"Integration Test addToContractWhiteList Adding same address to white list repeatedly should not produce errors","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"22a2ad72-4361-493b-bc69-6b5974a42d50","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["4d4e712f-9ce7-4906-9c7c-ac319a2e9da2","22a2ad72-4361-493b-bc69-6b5974a42d50"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"39f3396c-6bc9-4278-bb66-137f036c1025","title":"Negative Integration Test addToContractWhiteList","fullFile":"/nft_parachain/tests/src/addToContractWhiteList.test.ts","file":"/src/addToContractWhiteList.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Add an address to a white list of a non-contract","fullTitle":"Negative Integration Test addToContractWhiteList Add an address to a white list of a non-contract","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"11afd47c-355c-4dc3-91b7-49d462da2ee9","isHook":false,"skipped":false},{"title":"Add to a contract white list using a non-owner address","fullTitle":"Negative Integration Test addToContractWhiteList Add to a contract white list using a non-owner address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"dc54f6a6-b79c-49c7-90cb-994667d80759","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["11afd47c-355c-4dc3-91b7-49d462da2ee9","dc54f6a6-b79c-49c7-90cb-994667d80759"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"8e0432c7-b6de-4e10-a6d7-78f4ec63c23b","title":"Integration Test ext. addToWhiteList()","fullFile":"/nft_parachain/tests/src/addToWhiteList.test.ts","file":"/src/addToWhiteList.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test ext. addToWhiteList() \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"504f61a5-c065-474c-bfd9-50bb5e0e64ce","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Execute the extrinsic with parameters: Collection ID and address to add to the white list","fullTitle":"Integration Test ext. addToWhiteList() Execute the extrinsic with parameters: Collection ID and address to add to the white list","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addToWhiteListExpectSuccess(Alice, collectionId, Bob.address);","err":{},"uuid":"f4af86bd-2445-483b-84af-9dd6d4e89caf","isHook":false,"skipped":true},{"title":"Whitelisted minting: list restrictions","fullTitle":"Integration Test ext. addToWhiteList() Whitelisted minting: list restrictions","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addToWhiteListExpectSuccess(Alice, collectionId, Bob.address);\nawait helpers_1.enableWhiteListExpectSuccess(Alice, collectionId);\nawait helpers_1.enablePublicMintingExpectSuccess(Alice, collectionId);\nawait helpers_1.createItemExpectSuccess(Bob, collectionId, 'NFT', Bob.address);","err":{},"uuid":"076d5bc5-61a5-49b3-8a8b-85d92ab5ea95","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["f4af86bd-2445-483b-84af-9dd6d4e89caf","076d5bc5-61a5-49b3-8a8b-85d92ab5ea95"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"54048e5b-61d8-4202-957f-c39bf6ecf002","title":"Negative Integration Test ext. addToWhiteList()","fullFile":"/nft_parachain/tests/src/addToWhiteList.test.ts","file":"/src/addToWhiteList.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"White list an address in the collection that does not exist","fullTitle":"Negative Integration Test ext. addToWhiteList() White list an address in the collection that does not exist","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: no-bitwise\n const collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n const Bob = privateKey_1.default('//Bob');\n const tx = api.tx.nft.addToWhiteList(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, tx)).to.be.rejected;\n});","err":{},"uuid":"89dfc83d-b8ec-48ae-a23d-c254f74c457f","isHook":false,"skipped":true},{"title":"White list an address in the collection that was destroyed","fullTitle":"Negative Integration Test ext. addToWhiteList() White list an address in the collection that was destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n // tslint:disable-next-line: no-bitwise\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n const tx = api.tx.nft.addToWhiteList(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, tx)).to.be.rejected;\n});","err":{},"uuid":"5cc79a66-b069-4e44-b20e-e8463e79d03b","isHook":false,"skipped":true},{"title":"White list an address in the collection that does not have white list access enabled","fullTitle":"Negative Integration Test ext. addToWhiteList() White list an address in the collection that does not have white list access enabled","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const Alice = privateKey_1.default('//Alice');\n const Ferdie = privateKey_1.default('//Ferdie');\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(Alice, collectionId);\n await helpers_1.enablePublicMintingExpectSuccess(Alice, collectionId);\n const tx = api.tx.nft.createItem(collectionId, helpers_1.normalizeAccountId(Ferdie.address), 'NFT');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Ferdie, tx)).to.be.rejected;\n});","err":{},"uuid":"a2acbcac-3464-4de4-a649-bd39ab868fcf","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["89dfc83d-b8ec-48ae-a23d-c254f74c457f","5cc79a66-b069-4e44-b20e-e8463e79d03b","a2acbcac-3464-4de4-a649-bd39ab868fcf"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"17759d9b-3a02-47ec-aa3b-7538324dfde4","title":"Integration Test ext. addToWhiteList() with collection admin permissions:","fullFile":"/nft_parachain/tests/src/addToWhiteList.test.ts","file":"/src/addToWhiteList.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test ext. addToWhiteList() with collection admin permissions: \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"39f215f2-a4da-40c8-a0cf-8f493363df97","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Negative. Add to the white list by regular user","fullTitle":"Integration Test ext. addToWhiteList() with collection admin permissions: Negative. Add to the white list by regular user","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addToWhiteListExpectFail(Bob, collectionId, Charlie.address);","err":{},"uuid":"0fd4da7d-13aa-4c8a-abb3-a62baf1eea08","isHook":false,"skipped":true},{"title":"Execute the extrinsic with parameters: Collection ID and address to add to the white list","fullTitle":"Integration Test ext. addToWhiteList() with collection admin permissions: Execute the extrinsic with parameters: Collection ID and address to add to the white list","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\nawait helpers_1.addToWhiteListExpectSuccess(Bob, collectionId, Charlie.address);","err":{},"uuid":"64da9424-a2a1-4e24-bb62-9ec2a35b4620","isHook":false,"skipped":true},{"title":"Whitelisted minting: list restrictions","fullTitle":"Integration Test ext. addToWhiteList() with collection admin permissions: Whitelisted minting: list restrictions","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\nawait helpers_1.addToWhiteListExpectSuccess(Bob, collectionId, Charlie.address);\n// allowed only for collection owner\nawait helpers_1.enableWhiteListExpectSuccess(Alice, collectionId);\nawait helpers_1.enablePublicMintingExpectSuccess(Alice, collectionId);\nawait helpers_1.createItemExpectSuccess(Charlie, collectionId, 'NFT', Charlie.address);","err":{},"uuid":"f5983173-28be-48b5-833e-f0092fca2815","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["0fd4da7d-13aa-4c8a-abb3-a62baf1eea08","64da9424-a2a1-4e24-bb62-9ec2a35b4620","f5983173-28be-48b5-833e-f0092fca2815"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"7ff1c1ae-0522-4644-82a6-b8c8f61aac78","title":"Integration Test approve(spender, collection_id, item_id, amount):","fullFile":"/nft_parachain/tests/src/approve.test.ts","file":"/src/approve.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test approve(spender, collection_id, item_id, amount): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"8413cad1-b738-44b1-bc1e-894e8f250979","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Execute the extrinsic and check approvedList","fullTitle":"Integration Test approve(spender, collection_id, item_id, amount): Execute the extrinsic and check approvedList","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n// nft\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\nawait helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\nawait helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nconst newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\nawait helpers_1.approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);","err":{},"uuid":"58f34661-b685-46a5-b2fb-d62adacb20b9","isHook":false,"skipped":true},{"title":"Remove approval by using 0 amount","fullTitle":"Integration Test approve(spender, collection_id, item_id, amount): Remove approval by using 0 amount","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n// nft\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\nawait helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 1);\nawait helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 0);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\nawait helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1);\nawait helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 0);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nconst newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\nawait helpers_1.approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 1);\nawait helpers_1.approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 0);","err":{},"uuid":"b4a52671-3927-444e-b297-1e87fb6a1e59","isHook":false,"skipped":true},{"title":"can be called by collection owner on non-owned item when OwnerCanTransfer == true","fullTitle":"Integration Test approve(spender, collection_id, item_id, amount): can be called by collection owner on non-owned item when OwnerCanTransfer == true","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nconst itemId = await helpers_1.createItemExpectSuccess(Alice, collectionId, 'NFT', Bob.address);\nawait helpers_1.approveExpectSuccess(collectionId, itemId, Alice, Charlie);","err":{},"uuid":"07b9ce52-ffaa-44ed-af6e-a22d034ab1aa","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["58f34661-b685-46a5-b2fb-d62adacb20b9","b4a52671-3927-444e-b297-1e87fb6a1e59","07b9ce52-ffaa-44ed-af6e-a22d034ab1aa"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"bbd0d378-525f-4ca7-b117-9811069d2768","title":"Negative Integration Test approve(spender, collection_id, item_id, amount):","fullFile":"/nft_parachain/tests/src/approve.test.ts","file":"/src/approve.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"0e01d3cf-8db0-42a5-af2e-afea877962a8","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Approve for a collection that does not exist","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): Approve for a collection that does not exist","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // nft\n const nftCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.approveExpectFail(nftCollectionCount + 1, 1, Alice, Bob);\n // fungible\n const fungibleCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.approveExpectFail(fungibleCollectionCount + 1, 1, Alice, Bob);\n // reFungible\n const reFungibleCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.approveExpectFail(reFungibleCollectionCount + 1, 1, Alice, Bob);\n});","err":{},"uuid":"57f2f5eb-c881-4963-8d9d-379b5cd553f0","isHook":false,"skipped":true},{"title":"Approve for a collection that was destroyed","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): Approve for a collection that was destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// nft\nconst nftCollectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(nftCollectionId);\nawait helpers_1.approveExpectFail(nftCollectionId, 1, Alice, Bob);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.destroyCollectionExpectSuccess(fungibleCollectionId);\nawait helpers_1.approveExpectFail(fungibleCollectionId, 1, Alice, Bob);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.destroyCollectionExpectSuccess(reFungibleCollectionId);\nawait helpers_1.approveExpectFail(reFungibleCollectionId, 1, Alice, Bob);","err":{},"uuid":"38827096-3e94-4bcc-be0c-3b7c3ba7d69d","isHook":false,"skipped":true},{"title":"Approve transfer of a token that does not exist","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): Approve transfer of a token that does not exist","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// nft\nconst nftCollectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.approveExpectFail(nftCollectionId, 2, Alice, Bob);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.approveExpectFail(reFungibleCollectionId, 2, Alice, Bob);","err":{},"uuid":"ad56e131-a17c-41e6-b1e2-63802f3ed386","isHook":false,"skipped":true},{"title":"Approve using the address that does not own the approved token","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): Approve using the address that does not own the approved token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n// nft\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\nawait helpers_1.approveExpectFail(nftCollectionId, newNftTokenId, Bob, Alice);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\nawait helpers_1.approveExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nconst newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\nawait helpers_1.approveExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice);","err":{},"uuid":"b4820ad0-7f0e-4ec6-8aeb-e8ce85421337","isHook":false,"skipped":true},{"title":"should fail if approved more NFTs than owned","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): should fail if approved more NFTs than owned","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nftCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\nawait helpers_1.transferExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 1, 'NFT');\nawait helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Bob, Alice);\nawait helpers_1.approveExpectFail(nftCollectionId, newNftTokenId, Bob, Alice);","err":{},"uuid":"8c124180-e9e6-400d-b8c2-c2c7d8fbb8fb","isHook":false,"skipped":true},{"title":"should fail if approved more ReFungibles than owned","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): should fail if approved more ReFungibles than owned","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nftCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'ReFungible');\nawait helpers_1.transferExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 100, 'ReFungible');\nawait helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Bob, Alice, 100);\nawait helpers_1.approveExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, 1);","err":{},"uuid":"68f5b592-5b15-483b-93bf-2eaf69c9852c","isHook":false,"skipped":true},{"title":"should fail if approved more Fungibles than owned","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): should fail if approved more Fungibles than owned","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nftCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'Fungible');\nawait helpers_1.transferExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 10, 'Fungible');\nawait helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Bob, Alice, 10);\nawait helpers_1.approveExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, 1);","err":{},"uuid":"791a84c5-527a-416d-b3df-ff271c2e1b06","isHook":false,"skipped":true},{"title":"fails when called by collection owner on non-owned item when OwnerCanTransfer == false","fullTitle":"Negative Integration Test approve(spender, collection_id, item_id, amount): fails when called by collection owner on non-owned item when OwnerCanTransfer == false","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nconst itemId = await helpers_1.createItemExpectSuccess(Alice, collectionId, 'NFT', Bob.address);\nawait helpers_1.setCollectionLimitsExpectSuccess(Alice, collectionId, { OwnerCanTransfer: false });\nawait helpers_1.approveExpectFail(collectionId, itemId, Alice, Charlie);","err":{},"uuid":"4f9a097e-535d-4a36-9373-245ee1a86171","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["57f2f5eb-c881-4963-8d9d-379b5cd553f0","38827096-3e94-4bcc-be0c-3b7c3ba7d69d","ad56e131-a17c-41e6-b1e2-63802f3ed386","b4820ad0-7f0e-4ec6-8aeb-e8ce85421337","8c124180-e9e6-400d-b8c2-c2c7d8fbb8fb","68f5b592-5b15-483b-93bf-2eaf69c9852c","791a84c5-527a-416d-b3df-ff271c2e1b06","4f9a097e-535d-4a36-9373-245ee1a86171"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"ffbd7ce9-1b21-4083-814b-9c633c3f15bb","title":"Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions:","fullFile":"/nft_parachain/tests/src/approve.test.ts","file":"/src/approve.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions: \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"6a7aa23b-1aae-4eac-88d9-26472e020fd3","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"can be called by collection admin on non-owned item","fullTitle":"Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions: can be called by collection admin on non-owned item","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nconst itemId = await helpers_1.createItemExpectSuccess(Alice, collectionId, 'NFT', Alice.address);\nawait helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\nawait helpers_1.approveExpectSuccess(collectionId, itemId, Bob, Charlie);","err":{},"uuid":"a31ccf62-8920-4e14-9b8d-bc74a0ca7566","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a31ccf62-8920-4e14-9b8d-bc74a0ca7566"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"4d1d3346-8d28-4bd0-98d0-d2a6cac5608b","title":"Block Production smoke test","fullFile":"/nft_parachain/tests/src/block-production.test.ts","file":"/src/block-production.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Node produces new blocks","fullTitle":"Block Production smoke test Node produces new blocks","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const blocks = await getBlocks(api);\n chai_1.expect(blocks[0]).to.be.lessThan(blocks[1]);\n});","err":{},"uuid":"44b68326-4b05-4eeb-beca-5994a2bec2fd","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["44b68326-4b05-4eeb-beca-5994a2bec2fd"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"31630dc0-1bc3-4608-9307-b6efb62d0b57","title":"integration test: ext. burnItem():","fullFile":"/nft_parachain/tests/src/burnItem.test.ts","file":"/src/burnItem.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"integration test: ext. burnItem(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"106d90d4-57ff-46c4-8870-1c7fd149c0ab","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Burn item in NFT collection","fullTitle":"integration test: ext. burnItem(): Burn item in NFT collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nawait substrate_api_1.default(async (api) => {\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);\n const events = await substrate_api_1.submitTransactionAsync(alice, tx);\n const result = helpers_1.getGenericResult(events);\n // Get the item\n const item = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON();\n // What to expect\n // tslint:disable-next-line:no-unused-expression\n expect(result.success).to.be.true;\n // tslint:disable-next-line:no-unused-expression\n expect(item).to.be.null;\n});","err":{},"uuid":"db281de7-6da6-4d2d-9005-21e20a011fc2","isHook":false,"skipped":true},{"title":"Burn item in Fungible collection","fullTitle":"integration test: ext. burnItem(): Burn item in Fungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'Fungible';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode, decimalPoints: 0 } });\nawait helpers_1.createItemExpectSuccess(alice, collectionId, createMode); // Helper creates 10 fungible tokens\nconst tokenId = 0; // ignored\nawait substrate_api_1.default(async (api) => {\n // Destroy 1 of 10\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 1);\n const events = await substrate_api_1.submitTransactionAsync(alice, tx);\n const result = helpers_1.getGenericResult(events);\n // Get alice balance \n const balance = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();\n // What to expect\n expect(result.success).to.be.true;\n expect(balance).to.be.not.null;\n expect(balance.Value).to.be.equal(9);\n});","err":{},"uuid":"dcfdcd23-ef39-4a88-9bf1-74de618d7535","isHook":false,"skipped":true},{"title":"Burn item in ReFungible collection","fullTitle":"integration test: ext. burnItem(): Burn item in ReFungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'ReFungible';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nawait substrate_api_1.default(async (api) => {\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 1);\n const events = await substrate_api_1.submitTransactionAsync(alice, tx);\n const result = helpers_1.getGenericResult(events);\n // Get alice balance \n const balance = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();\n // What to expect\n expect(result.success).to.be.true;\n expect(balance).to.be.null;\n});","err":{},"uuid":"30dfae18-db02-458d-91da-cd9ca371dabf","isHook":false,"skipped":true},{"title":"Burn owned portion of item in ReFungible collection","fullTitle":"integration test: ext. burnItem(): Burn owned portion of item in ReFungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'ReFungible';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nawait substrate_api_1.default(async (api) => {\n // Transfer 1/100 of the token to Bob\n const transfertx = api.tx.nft.transfer(helpers_1.normalizeAccountId(bob.address), collectionId, tokenId, 1);\n const events1 = await substrate_api_1.submitTransactionAsync(alice, transfertx);\n const result1 = helpers_1.getGenericResult(events1);\n // Get balances\n const balanceBefore = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();\n // Bob burns his portion\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);\n const events2 = await substrate_api_1.submitTransactionAsync(bob, tx);\n const result2 = helpers_1.getGenericResult(events2);\n // Get balances \n const balance = (await api.query.nft.reFungibleItemList(collectionId, tokenId)).toJSON();\n // console.log(balance);\n // What to expect before burning\n expect(result1.success).to.be.true;\n expect(balanceBefore).to.be.not.null;\n expect(balanceBefore.Owner.length).to.be.equal(2);\n expect(balanceBefore.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(alice.address));\n expect(balanceBefore.Owner[0].Fraction).to.be.equal(99);\n expect(balanceBefore.Owner[1].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(bob.address));\n expect(balanceBefore.Owner[1].Fraction).to.be.equal(1);\n // What to expect after burning\n expect(result2.success).to.be.true;\n expect(balance).to.be.not.null;\n expect(balance.Owner.length).to.be.equal(1);\n expect(balance.Owner[0].Fraction).to.be.equal(99);\n expect(balance.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(alice.address));\n});","err":{},"uuid":"fb1160e0-cf9c-4e27-96c2-353e01a09422","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["db281de7-6da6-4d2d-9005-21e20a011fc2","dcfdcd23-ef39-4a88-9bf1-74de618d7535","30dfae18-db02-458d-91da-cd9ca371dabf","fb1160e0-cf9c-4e27-96c2-353e01a09422"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"16273f03-1dd5-4058-a84a-cc4d6aa4832c","title":"integration test: ext. burnItem() with admin permissions:","fullFile":"/nft_parachain/tests/src/burnItem.test.ts","file":"/src/burnItem.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"integration test: ext. burnItem() with admin permissions: \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"97633032-cfa2-424d-a9fd-74b7e9758ddd","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Burn item in NFT collection","fullTitle":"integration test: ext. burnItem() with admin permissions: Burn item in NFT collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait substrate_api_1.default(async (api) => {\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);\n const events = await substrate_api_1.submitTransactionAsync(bob, tx);\n const result = helpers_1.getGenericResult(events);\n // Get the item\n const item = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON();\n // What to expect\n // tslint:disable-next-line:no-unused-expression\n expect(result.success).to.be.true;\n // tslint:disable-next-line:no-unused-expression\n expect(item).to.be.null;\n});","err":{},"uuid":"b1fc4b6a-2a91-4fe7-b286-47e8aa974059","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["b1fc4b6a-2a91-4fe7-b286-47e8aa974059"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"452f3792-5d1a-4859-a360-cfffe0b60deb","title":"Negative integration test: ext. burnItem():","fullFile":"/nft_parachain/tests/src/burnItem.test.ts","file":"/src/burnItem.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative integration test: ext. burnItem(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"069a8925-8f20-4ec3-9704-f3150eda6653","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Burn a token in a destroyed collection","fullTitle":"Negative integration test: ext. burnItem(): Burn a token in a destroyed collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait substrate_api_1.default(async (api) => {\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(alice, tx);\n };\n await expect(badTransaction()).to.be.rejected;\n});","err":{},"uuid":"80c1a171-453f-4a6c-8b50-dd960a40599f","isHook":false,"skipped":true},{"title":"Burn a token that was never created","fullTitle":"Negative integration test: ext. burnItem(): Burn a token that was never created","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = 10;\nawait substrate_api_1.default(async (api) => {\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(alice, tx);\n };\n await expect(badTransaction()).to.be.rejected;\n});","err":{},"uuid":"316a7d3b-76ac-43e5-af33-fc3be17131b6","isHook":false,"skipped":true},{"title":"Burn a token using the address that does not own it","fullTitle":"Negative integration test: ext. burnItem(): Burn a token using the address that does not own it","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nawait substrate_api_1.default(async (api) => {\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 0);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(bob, tx);\n };\n await expect(badTransaction()).to.be.rejected;\n});","err":{},"uuid":"91f485b0-7d62-4170-b47e-a4e982a2ff55","isHook":false,"skipped":true},{"title":"Transfer a burned a token","fullTitle":"Negative integration test: ext. burnItem(): Transfer a burned a token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nconst tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nawait substrate_api_1.default(async (api) => {\n const burntx = api.tx.nft.burnItem(collectionId, tokenId, 0);\n const events1 = await substrate_api_1.submitTransactionAsync(alice, burntx);\n const result1 = helpers_1.getGenericResult(events1);\n expect(result1.success).to.be.true;\n const tx = api.tx.nft.transfer(helpers_1.normalizeAccountId(bob.address), collectionId, tokenId, 0);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(alice, tx);\n };\n await expect(badTransaction()).to.be.rejected;\n});","err":{},"uuid":"2ddeae42-6371-40cf-be36-54a3c3ae2b61","isHook":false,"skipped":true},{"title":"Burn more than owned in Fungible collection","fullTitle":"Negative integration test: ext. burnItem(): Burn more than owned in Fungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'Fungible';\nconst collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode, decimalPoints: 0 } });\n// Helper creates 10 fungible tokens\nawait helpers_1.createItemExpectSuccess(alice, collectionId, createMode);\nconst tokenId = 0; // ignored\nawait substrate_api_1.default(async (api) => {\n // Destroy 11 of 10\n const tx = api.tx.nft.burnItem(collectionId, tokenId, 11);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(alice, tx);\n };\n await expect(badTransaction()).to.be.rejected;\n // Get alice balance \n const balance = (await api.query.nft.fungibleItemList(collectionId, alice.address)).toJSON();\n // What to expect\n expect(balance).to.be.not.null;\n expect(balance.Value).to.be.equal(10);\n});","err":{},"uuid":"331fa2e2-1474-43f8-9e0d-fec071119639","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["80c1a171-453f-4a6c-8b50-dd960a40599f","316a7d3b-76ac-43e5-af33-fc3be17131b6","91f485b0-7d62-4170-b47e-a4e982a2ff55","2ddeae42-6371-40cf-be36-54a3c3ae2b61","331fa2e2-1474-43f8-9e0d-fec071119639"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"d9f0d67b-bfca-4457-958a-3ef539b093ca","title":"Integration Test changeCollectionOwner(collection_id, new_owner):","fullFile":"/nft_parachain/tests/src/change-collection-owner.test.ts","file":"/src/change-collection-owner.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Changing owner changes owner address","fullTitle":"Integration Test changeCollectionOwner(collection_id, new_owner): Changing owner changes owner address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.deep.eq(alice.address);\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await substrate_api_1.submitTransactionAsync(alice, changeOwnerTx);\n const collectionAfterOwnerChange = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(bob.address);\n});","err":{},"uuid":"106c78ce-05ec-4455-bdac-c3ce51f7f62e","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["106c78ce-05ec-4455-bdac-c3ce51f7f62e"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"b0dfc56e-2c7e-4909-a8cd-3def915d0e8a","title":"Integration Test changeCollectionOwner(collection_id, new_owner) special checks for exOwner:","fullFile":"/nft_parachain/tests/src/change-collection-owner.test.ts","file":"/src/change-collection-owner.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Changing the owner of the collection is not allowed for the former owner","fullTitle":"Integration Test changeCollectionOwner(collection_id, new_owner) special checks for exOwner: Changing the owner of the collection is not allowed for the former owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.deep.eq(alice.address);\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await substrate_api_1.submitTransactionAsync(alice, changeOwnerTx);\n const badChangeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, alice.address);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, badChangeOwnerTx)).to.be.rejected;\n const collectionAfterOwnerChange = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(bob.address);\n});","err":{},"uuid":"f8e8a3fc-cb38-4a7b-972e-c228ecfc7a55","isHook":false,"skipped":true},{"title":"New collectionOwner has access to sponsorship management operations in the collection","fullTitle":"Integration Test changeCollectionOwner(collection_id, new_owner) special checks for exOwner: New collectionOwner has access to sponsorship management operations in the collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const charlie = privateKey_1.default('//Charlie');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.deep.eq(alice.address);\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await substrate_api_1.submitTransactionAsync(alice, changeOwnerTx);\n const collectionAfterOwnerChange = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(bob.address);\n // After changing the owner of the collection, all privileged methods are available to the new owner\n // The new owner of the collection has access to sponsorship management operations in the collection\n await helpers_1.setCollectionSponsorExpectSuccess(collectionId, charlie.address, '//Bob');\n await helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Charlie');\n await helpers_1.removeCollectionSponsorExpectSuccess(collectionId, '//Bob');\n // The new owner of the collection has access to operations for managing the collection parameters\n const collectionLimits = {\n AccountTokenOwnershipLimit: 1,\n SponsoredMintSize: 1,\n TokenLimit: 1,\n SponsorTimeout: 1,\n OwnerCanTransfer: true,\n OwnerCanDestroy: true,\n };\n const tx1 = api.tx.nft.setCollectionLimits(collectionId, collectionLimits);\n await substrate_api_1.submitTransactionAsync(bob, tx1);\n await helpers_1.setPublicAccessModeExpectSuccess(bob, collectionId, 'WhiteList');\n await helpers_1.enableWhiteListExpectSuccess(bob, collectionId);\n await helpers_1.setMintPermissionExpectSuccess(bob, collectionId, true);\n await helpers_1.destroyCollectionExpectSuccess(collectionId, '//Bob');\n});","err":{},"uuid":"605404fb-8e36-4370-9f2f-658f09fb8e40","isHook":false,"skipped":true},{"title":"New collectionOwner has access to changeCollectionOwner","fullTitle":"Integration Test changeCollectionOwner(collection_id, new_owner) special checks for exOwner: New collectionOwner has access to changeCollectionOwner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const charlie = privateKey_1.default('//Charlie');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.deep.eq(alice.address);\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await substrate_api_1.submitTransactionAsync(alice, changeOwnerTx);\n const collectionAfterOwnerChange = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(bob.address);\n const changeOwnerTx2 = api.tx.nft.changeCollectionOwner(collectionId, charlie.address);\n await substrate_api_1.submitTransactionAsync(bob, changeOwnerTx2);\n // ownership lost\n const collectionAfterOwnerChange2 = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange2.Owner).to.be.deep.eq(charlie.address);\n});","err":{},"uuid":"cfe9d4c1-0a65-4aea-94a6-90c097e01279","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["f8e8a3fc-cb38-4a7b-972e-c228ecfc7a55","605404fb-8e36-4370-9f2f-658f09fb8e40","cfe9d4c1-0a65-4aea-94a6-90c097e01279"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"95795b78-4a0b-4ce1-aabd-b1bebb9b68b7","title":"Negative Integration Test changeCollectionOwner(collection_id, new_owner):","fullFile":"/nft_parachain/tests/src/change-collection-owner.test.ts","file":"/src/change-collection-owner.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Not owner can't change owner.","fullTitle":"Negative Integration Test changeCollectionOwner(collection_id, new_owner): Not owner can't change owner.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(bob, changeOwnerTx)).to.be.rejected;\n const collectionAfterOwnerChange = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(alice.address);\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"50601940-15a6-43fd-8e69-e9f15b4cd27b","isHook":false,"skipped":true},{"title":"Collection admin can't change owner.","fullTitle":"Negative Integration Test changeCollectionOwner(collection_id, new_owner): Collection admin can't change owner.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n await helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(bob, changeOwnerTx)).to.be.rejected;\n const collectionAfterOwnerChange = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(alice.address);\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"0dfe81ed-ad93-4968-93aa-c0611841e925","isHook":false,"skipped":true},{"title":"Can't change owner of a non-existing collection.","fullTitle":"Negative Integration Test changeCollectionOwner(collection_id, new_owner): Can't change owner of a non-existing collection.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = (1 << 32) - 1;\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, changeOwnerTx)).to.be.rejected;\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"a503acea-f020-48f7-babe-7b35dbe8b5e4","isHook":false,"skipped":true},{"title":"Former collectionOwner not allowed to sponsorship management operations in the collection","fullTitle":"Negative Integration Test changeCollectionOwner(collection_id, new_owner): Former collectionOwner not allowed to sponsorship management operations in the collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const charlie = privateKey_1.default('//Charlie');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.deep.eq(alice.address);\n const changeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, bob.address);\n await substrate_api_1.submitTransactionAsync(alice, changeOwnerTx);\n const badChangeOwnerTx = api.tx.nft.changeCollectionOwner(collectionId, alice.address);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, badChangeOwnerTx)).to.be.rejected;\n const collectionAfterOwnerChange = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collectionAfterOwnerChange.Owner).to.be.deep.eq(bob.address);\n await helpers_1.setCollectionSponsorExpectFailure(collectionId, charlie.address, '//Alice');\n await helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Alice');\n await helpers_1.removeCollectionSponsorExpectFailure(collectionId, '//Alice');\n const collectionLimits = {\n AccountTokenOwnershipLimit: 1,\n SponsoredMintSize: 1,\n TokenLimit: 1,\n SponsorTimeout: 1,\n OwnerCanTransfer: true,\n OwnerCanDestroy: true,\n };\n const tx1 = api.tx.nft.setCollectionLimits(collectionId, collectionLimits);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, tx1)).to.be.rejected;\n await helpers_1.enableWhiteListExpectFail(alice, collectionId);\n await helpers_1.setMintPermissionExpectFailure(alice, collectionId, true);\n await helpers_1.destroyCollectionExpectFailure(collectionId, '//Alice');\n});","err":{},"uuid":"89038078-bfeb-4ae6-89ec-47a162b45901","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["50601940-15a6-43fd-8e69-e9f15b4cd27b","0dfe81ed-ad93-4968-93aa-c0611841e925","a503acea-f020-48f7-babe-7b35dbe8b5e4","89038078-bfeb-4ae6-89ec-47a162b45901"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"55f5e4e4-f4fb-4ad7-930e-665826d4cf36","title":"Burn Item event ","fullFile":"/nft_parachain/tests/src/check-event/burnItemEvent.test.ts","file":"/src/check-event/burnItemEvent.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Burn Item event \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});","err":{},"uuid":"1cd0ef23-8ba6-42e1-9f3b-c3c8b2507b93","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Check event from burnItem(): ","fullTitle":"Burn Item event Check event from burnItem(): ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionID = await helpers_1.createCollectionExpectSuccess();\n const itemID = await helpers_1.createItemExpectSuccess(Alice, collectionID, 'NFT');\n const burnItem = api.tx.nft.burnItem(collectionID, itemID, 1);\n const events = await substrate_api_1.submitTransactionAsync(Alice, burnItem);\n const msg = JSON.stringify(helpers_1.nftEventMessage(events));\n expect(msg).to.be.contain(checkSection);\n expect(msg).to.be.contain(checkTreasury);\n expect(msg).to.be.contain(checkSystem);\n});","err":{},"uuid":"de5f50c1-af90-42df-93c3-2934badb6102","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["de5f50c1-af90-42df-93c3-2934badb6102"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"3878d237-7941-4f7d-9402-70c55b27ed0a","title":"Create collection event ","fullFile":"/nft_parachain/tests/src/check-event/createCollectionEvent.test.ts","file":"/src/check-event/createCollectionEvent.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Create collection event \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});","err":{},"uuid":"1df63224-8d83-4ad7-865e-380947ae6c9a","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Check event from createCollection(): ","fullTitle":"Create collection event Check event from createCollection(): ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const tx = api.tx.nft.createCollection('0x31', '0x32', '0x33', 'NFT');\n const events = await substrate_api_1.submitTransactionAsync(Alice, tx);\n const msg = JSON.stringify(helpers_1.nftEventMessage(events));\n expect(msg).to.be.contain(checkSection);\n expect(msg).to.be.contain(checkTreasury);\n expect(msg).to.be.contain(checkSystem);\n});","err":{},"uuid":"839bfe64-f4fa-4411-860f-f9efd40ed5db","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["839bfe64-f4fa-4411-860f-f9efd40ed5db"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"400efadc-b579-4d9f-976c-109ef146f79c","title":"Create Item event ","fullFile":"/nft_parachain/tests/src/check-event/createItemEvent.test.ts","file":"/src/check-event/createItemEvent.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Create Item event \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});","err":{},"uuid":"b67f0a1f-8a42-4364-a20d-e252defd1183","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Check event from createItem(): ","fullTitle":"Create Item event Check event from createItem(): ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionID = await helpers_1.createCollectionExpectSuccess();\n const createItem = api.tx.nft.createItem(collectionID, Alice.address, 'NFT');\n const events = await substrate_api_1.submitTransactionAsync(Alice, createItem);\n const msg = JSON.stringify(helpers_1.nftEventMessage(events));\n expect(msg).to.be.contain(checkSection);\n expect(msg).to.be.contain(checkTreasury);\n expect(msg).to.be.contain(checkSystem);\n});","err":{},"uuid":"85d467a8-89df-4b5d-8cc1-0196eb9f93f5","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["85d467a8-89df-4b5d-8cc1-0196eb9f93f5"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"3b11cc06-de4c-4c51-a1fe-3f51dd00189e","title":"Create Multiple Items Event event ","fullFile":"/nft_parachain/tests/src/check-event/createMultipleItemsEvent.test.ts","file":"/src/check-event/createMultipleItemsEvent.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Create Multiple Items Event event \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});","err":{},"uuid":"ca3bcd24-41a8-4305-b378-e11c014b60c6","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Check event from createMultipleItems(): ","fullTitle":"Create Multiple Items Event event Check event from createMultipleItems(): ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionID = await helpers_1.createCollectionExpectSuccess();\n const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];\n const createMultipleItems = api.tx.nft.createMultipleItems(collectionID, Alice.address, args);\n const events = await substrate_api_1.submitTransactionAsync(Alice, createMultipleItems);\n const msg = JSON.stringify(helpers_1.nftEventMessage(events));\n expect(msg).to.be.contain(checkSection);\n expect(msg).to.be.contain(checkTreasury);\n expect(msg).to.be.contain(checkSystem);\n});","err":{},"uuid":"55b6d724-0365-4f9a-b8e4-9b033966390b","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["55b6d724-0365-4f9a-b8e4-9b033966390b"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5bf9438d-76d2-4721-aeb3-173ec73ce3e4","title":"Destroy collection event ","fullFile":"/nft_parachain/tests/src/check-event/destroyCollectionEvent.test.ts","file":"/src/check-event/destroyCollectionEvent.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Destroy collection event \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});","err":{},"uuid":"8466e150-ec40-4916-8b9d-40ed46043246","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Check event from destroyCollection(): ","fullTitle":"Destroy collection event Check event from destroyCollection(): ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionID = await helpers_1.createCollectionExpectSuccess();\n const destroyCollection = api.tx.nft.destroyCollection(collectionID);\n const events = await substrate_api_1.submitTransactionAsync(Alice, destroyCollection);\n const msg = JSON.stringify(helpers_1.nftEventMessage(events));\n expect(msg).to.be.contain(checkTreasury);\n expect(msg).to.be.contain(checkSystem);\n});","err":{},"uuid":"39b42382-7bc8-4552-92a2-cb34b6c1c7be","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["39b42382-7bc8-4552-92a2-cb34b6c1c7be"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"97c4b3e9-85ed-4a1a-947e-6e3984151fdd","title":"Transfer event ","fullFile":"/nft_parachain/tests/src/check-event/transferEvent.test.ts","file":"/src/check-event/transferEvent.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Transfer event \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"de4cf4d9-1530-4052-8115-ab14d42cc92a","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Check event from transfer(): ","fullTitle":"Transfer event Check event from transfer(): ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionID = await helpers_1.createCollectionExpectSuccess();\n const itemID = await helpers_1.createItemExpectSuccess(Alice, collectionID, 'NFT');\n const transfer = api.tx.nft.transfer(Bob.address, collectionID, itemID, 1);\n const events = await substrate_api_1.submitTransactionAsync(Alice, transfer);\n const msg = JSON.stringify(helpers_1.nftEventMessage(events));\n expect(msg).to.be.contain(checkSection);\n expect(msg).to.be.contain(checkTreasury);\n expect(msg).to.be.contain(checkSystem);\n});","err":{},"uuid":"e6598d9d-b6b2-4e48-8525-f6abba53d30b","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["e6598d9d-b6b2-4e48-8525-f6abba53d30b"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"9f3352a8-e9c4-43a8-9086-50a563ee5eee","title":"Transfer from event ","fullFile":"/nft_parachain/tests/src/check-event/transferFromEvent.test.ts","file":"/src/check-event/transferFromEvent.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Transfer from event \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"4a46b244-6070-497d-bcd1-33582dd9b4a8","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Check event from transferFrom(): ","fullTitle":"Transfer from event Check event from transferFrom(): ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionID = await helpers_1.createCollectionExpectSuccess();\n const itemID = await helpers_1.createItemExpectSuccess(Alice, collectionID, 'NFT');\n const transferFrom = api.tx.nft.transferFrom(Alice.address, Bob.address, collectionID, itemID, 1);\n const events = await substrate_api_1.submitTransactionAsync(Alice, transferFrom);\n const msg = JSON.stringify(helpers_1.nftEventMessage(events));\n expect(msg).to.be.contain(checkSection);\n expect(msg).to.be.contain(checkTreasury);\n expect(msg).to.be.contain(checkSystem);\n});","err":{},"uuid":"fb883220-daa6-4a72-994b-9bc040bfbab5","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["fb883220-daa6-4a72-994b-9bc040bfbab5"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"82e9f645-db19-47cc-9d86-b840fec2a2b3","title":"Deleting a collection while add address to whitelist: ","fullFile":"/nft_parachain/tests/src/collision-tests/adminDestroyCollection.test.ts","file":"/src/collision-tests/adminDestroyCollection.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Adding an address to the collection whitelist in a block by the admin, and deleting the collection by the owner ","fullTitle":"Deleting a collection while add address to whitelist: Adding an address to the collection whitelist in a block by the admin, and deleting the collection by the owner ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n await timeoutPromise(10000);\n //\n const addWhitelistAdm = api.tx.nft.addToWhiteList(collectionId, Ferdie.address);\n const destroyCollection = api.tx.nft.destroyCollection(collectionId);\n await Promise.all([\n addWhitelistAdm.signAndSend(Bob),\n destroyCollection.signAndSend(Alice),\n ]);\n await timeoutPromise(10000);\n let whiteList = false;\n whiteList = (await api.query.nft.whiteList(collectionId, Ferdie.address)).toJSON();\n // tslint:disable-next-line: no-unused-expression\n expect(whiteList).to.be.false;\n await timeoutPromise(20000);\n});","err":{},"uuid":"cd163573-90a0-4ccd-8a1f-eb8335357a70","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["cd163573-90a0-4ccd-8a1f-eb8335357a70"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"fb3e573e-5ef7-48e5-b965-25da2f42c9b5","title":"Admin limit exceeded collection: ","fullFile":"/nft_parachain/tests/src/collision-tests/adminLimitsOff.test.ts","file":"/src/collision-tests/adminLimitsOff.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"In one block, the owner and admin add new admins to the collection more than the limit ","fullTitle":"Admin limit exceeded collection: In one block, the owner and admin add new admins to the collection more than the limit ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const chainAdminLimit = api.consts.nft.collectionAdminsLimit.toNumber();\n expect(chainAdminLimit).to.be.equal(5);\n const changeAdminTx1 = api.tx.nft.addCollectionAdmin(collectionId, Eve.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx1);\n const changeAdminTx2 = api.tx.nft.addCollectionAdmin(collectionId, Dave.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx2);\n const changeAdminTx3 = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx3);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n const addAdmOne = api.tx.nft.addCollectionAdmin(collectionId, Ferdie.address);\n const addAdmTwo = api.tx.nft.addCollectionAdmin(collectionId, Charlie.address);\n await Promise.all([\n addAdmOne.signAndSend(Bob),\n addAdmTwo.signAndSend(Alice),\n ]);\n await timeoutPromise(10000);\n const changeAdminTx4 = api.tx.nft.addCollectionAdmin(collectionId, Alice.address);\n // tslint:disable-next-line: no-unused-expression\n expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, changeAdminTx4)).to.be.rejected;\n const adminListAfterAddAdmin = (await api.query.nft.adminList(collectionId));\n expect(adminListAfterAddAdmin).to.be.contains(Eve.address);\n expect(adminListAfterAddAdmin).to.be.contains(Ferdie.address);\n expect(adminListAfterAddAdmin).not.to.be.contains(Alice.address);\n await timeoutPromise(20000);\n});","err":{},"uuid":"c640aa10-0120-452d-b162-4a2c6f356f7f","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["c640aa10-0120-452d-b162-4a2c6f356f7f"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"8cce881e-bbaf-4146-8d8f-006fcca425db","title":"Deprivation of admin rights: ","fullFile":"/nft_parachain/tests/src/collision-tests/adminRightsOff.test.ts","file":"/src/collision-tests/adminRightsOff.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"In the block, the collection admin adds a token or changes data, and the collection owner deprives the admin of rights ","fullTitle":"Deprivation of admin rights: In the block, the collection admin adds a token or changes data, and the collection owner deprives the admin of rights ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n await timeoutPromise(10000);\n const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];\n const addItemAdm = api.tx.nft.createMultipleItems(collectionId, Bob.address, args);\n const removeAdm = api.tx.nft.removeCollectionAdmin(collectionId, Bob.address);\n await Promise.all([\n addItemAdm.signAndSend(Bob),\n removeAdm.signAndSend(Alice),\n ]);\n await timeoutPromise(10000);\n const itemsListIndex = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndex.toNumber()).to.be.equal(0);\n const adminList = (await api.query.nft.adminList(collectionId));\n expect(adminList).not.to.be.contains(Bob.address);\n await timeoutPromise(20000);\n});","err":{},"uuid":"4e2db444-8992-4e8c-99bd-2e457e34490b","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["4e2db444-8992-4e8c-99bd-2e457e34490b"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"e166ac25-fe9e-4b1d-bb76-6d3e69af3c78","title":"Admin vs Owner changes token: ","fullFile":"/nft_parachain/tests/src/collision-tests/admVsOwnerChanges.test.ts","file":"/src/collision-tests/admVsOwnerChanges.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"The collection admin changes the owner of the token and in the same block the current owner transfers the token to another address ","fullTitle":"Admin vs Owner changes token: The collection admin changes the owner of the token and in the same block the current owner transfers the token to another address ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTxBob);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n const changeAdminTxFerdie = api.tx.nft.addCollectionAdmin(collectionId, Ferdie.address);\n await substrate_api_1.submitTransactionAsync(Bob, changeAdminTxFerdie);\n const itemId = await helpers_1.createItemExpectSuccess(Ferdie, collectionId, 'NFT');\n //\n const changeOwner = api.tx.nft.transferFrom(Ferdie.address, Bob.address, collectionId, itemId, 1);\n const approve = api.tx.nft.approve(Bob.address, collectionId, itemId, 1);\n const sendItem = api.tx.nft.transfer(Alice.address, collectionId, itemId, 1);\n await Promise.all([\n changeOwner.signAndSend(Alice),\n approve.signAndSend(Bob),\n sendItem.signAndSend(Ferdie),\n ]);\n const itemBefore = await api.query.nft.nftItemList(collectionId, itemId);\n expect(itemBefore.Owner).not.to.be.eq(Bob.address);\n await timeoutPromise(20000);\n});","err":{},"uuid":"27b84ed9-5b8c-466e-bd56-0775187d9d84","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["27b84ed9-5b8c-466e-bd56-0775187d9d84"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"6939e386-9b18-4f40-9a94-dd723b626a2d","title":"Admin vs Owner changes the data in the token: ","fullFile":"/nft_parachain/tests/src/collision-tests/admVsOwnerData.test.ts","file":"/src/collision-tests/admVsOwnerData.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"The collection admin changes the data in the token and in the same block the token owner also changes the data in it ","fullTitle":"Admin vs Owner changes the data in the token: The collection admin changes the data in the token and in the same block the token owner also changes the data in it ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const AliceData = 1;\n const BobData = 2;\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n const itemId = await helpers_1.createItemExpectSuccess(Bob, collectionId, 'NFT');\n //\n // tslint:disable-next-line: max-line-length\n const AliceTx = api.tx.nft.setVariableMetaData(collectionId, itemId, AliceData.toString());\n // tslint:disable-next-line: max-line-length\n const BobTx = api.tx.nft.setVariableMetaData(collectionId, itemId, BobData.toString());\n await Promise.all([\n AliceTx.signAndSend(Alice),\n BobTx.signAndSend(Bob),\n ]);\n const item = await api.query.nft.nftItemList(collectionId, itemId);\n expect(item.VariableData).not.to.be.eq(null); // Pseudo-random selection of one of two values\n await timeoutPromise(20000);\n});","err":{},"uuid":"c5a847a2-b5d4-4507-8c0b-8046d987094b","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["c5a847a2-b5d4-4507-8c0b-8046d987094b"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"cde93d62-bcf0-4cdd-a2a8-cb94d55b17e3","title":"Admin vs Owner take token: ","fullFile":"/nft_parachain/tests/src/collision-tests/admVsOwnerTake.test.ts","file":"/src/collision-tests/admVsOwnerTake.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"The collection admin burns the token and in the same block the token owner performs a transaction on it ","fullTitle":"Admin vs Owner take token: The collection admin burns the token and in the same block the token owner performs a transaction on it ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTx);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n const itemId = await helpers_1.createItemExpectSuccess(Bob, collectionId, 'NFT');\n //\n const sendItem = api.tx.nft.transfer(Ferdie.address, collectionId, itemId, 1);\n const burnItem = api.tx.nft.burnItem(collectionId, itemId, 1);\n await Promise.all([\n sendItem.signAndSend(Bob),\n burnItem.signAndSend(Alice),\n ]);\n await timeoutPromise(10000);\n let itemBurn = false;\n itemBurn = (await (api.query.nft.nftItemList(collectionId, itemId))).toJSON();\n // tslint:disable-next-line: no-unused-expression\n expect(itemBurn).to.be.null;\n await timeoutPromise(20000);\n});","err":{},"uuid":"a7a52e31-98d9-45ae-9ac4-ed5de7ab8813","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a7a52e31-98d9-45ae-9ac4-ed5de7ab8813"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"4d7194c7-81f8-4360-aca3-7b76daacc991","title":"Sponsored with new owner ","fullFile":"/nft_parachain/tests/src/collision-tests/setSponsorNewOwner.test.ts","file":"/src/collision-tests/setSponsorNewOwner.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Confirmation of sponsorship of a collection in a block with a change in the owner of the collection: ","fullTitle":"Sponsored with new owner Confirmation of sponsorship of a collection in a block with a change in the owner of the collection: ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.setCollectionSponsorExpectSuccess(collectionId, Bob.address);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n await timeoutPromise(10000);\n const confirmSponsorship = api.tx.nft.confirmSponsorship(collectionId);\n const changeCollectionOwner = api.tx.nft.changeCollectionOwner(collectionId, Ferdie.address);\n await Promise.all([\n confirmSponsorship.signAndSend(Bob),\n changeCollectionOwner.signAndSend(Alice),\n ]);\n await timeoutPromise(10000);\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Sponsorship.Confirmed).to.be.eq(Bob.address);\n expect(collection.Owner).to.be.eq(Ferdie.address);\n await timeoutPromise(20000);\n});","err":{},"uuid":"0aa8b150-ae6a-492d-ae2a-a0cf97b67b83","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["0aa8b150-ae6a-492d-ae2a-a0cf97b67b83"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"c2823806-a267-4156-a25c-67f011de6be0","title":"Payment of commission if one block: ","fullFile":"/nft_parachain/tests/src/collision-tests/sponsorPayments.test.ts","file":"/src/collision-tests/sponsorPayments.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Payment of commission if one block contains transactions for payment from the sponsor's balance and his (sponsor's) exclusion from the collection ","fullTitle":"Payment of commission if one block: Payment of commission if one block contains transactions for payment from the sponsor's balance and his (sponsor's) exclusion from the collection ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);\n await substrate_api_1.submitTransactionAsync(Alice, changeAdminTxBob);\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n const itemId = await helpers_1.createItemExpectSuccess(Bob, collectionId, 'NFT');\n await helpers_1.setCollectionSponsorExpectSuccess(collectionId, Bob.address);\n await helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\n const [alicesBalanceBefore, bobsBalanceBefore] = await get_balance_1.default(api, [accounts_1.alicesPublicKey, accounts_1.bobsPublicKey]);\n const sendItem = api.tx.nft.transfer(Alice.address, collectionId, itemId, 1);\n const revokeSponsor = api.tx.nft.removeCollectionSponsor(collectionId);\n await Promise.all([\n sendItem.signAndSend(Bob),\n revokeSponsor.signAndSend(Alice),\n ]);\n const [alicesBalanceAfter, bobsBalanceAfter] = await get_balance_1.default(api, [accounts_1.alicesPublicKey, accounts_1.bobsPublicKey]);\n // tslint:disable-next-line:no-unused-expression\n expect(alicesBalanceAfter === alicesBalanceBefore).to.be.true;\n // tslint:disable-next-line:no-unused-expression\n expect(bobsBalanceAfter === bobsBalanceBefore).to.be.true;\n await timeoutPromise(20000);\n});","err":{},"uuid":"f6b9cccb-f110-4593-ab4c-a952cd22e29d","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["f6b9cccb-f110-4593-ab4c-a952cd22e29d"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"e269ff0c-dc84-41c5-aac7-4ad5587db8c7","title":"Token limit exceeded collection: ","fullFile":"/nft_parachain/tests/src/collision-tests/tokenLimitsOff.test.ts","file":"/src/collision-tests/tokenLimitsOff.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"The number of tokens created in the collection from different addresses exceeds the allowed collection limit ","fullTitle":"Token limit exceeded collection: The number of tokens created in the collection from different addresses exceeds the allowed collection limit ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.setMintPermissionExpectSuccess(Alice, collectionId, true);\n await helpers_1.addToWhiteListExpectSuccess(Alice, collectionId, Ferdie.address);\n await helpers_1.addToWhiteListExpectSuccess(Alice, collectionId, Bob.address);\n const setCollectionLim = api.tx.nft.setCollectionLimits(collectionId, {\n AccountTokenOwnershipLimit,\n SponsoredMintSize,\n TokenLimit,\n // tslint:disable-next-line: object-literal-sort-keys\n SponsorTimeout,\n OwnerCanTransfer,\n OwnerCanDestroy,\n });\n const subTx = await substrate_api_1.submitTransactionAsync(Alice, setCollectionLim);\n const subTxTesult = helpers_1.getCreateItemResult(subTx);\n // tslint:disable-next-line:no-unused-expression\n expect(subTxTesult.success).to.be.true;\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n await timeoutPromise(10000);\n const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];\n const mintItemOne = api.tx.nft\n .createMultipleItems(collectionId, Ferdie.address, args);\n const mintItemTwo = api.tx.nft\n .createMultipleItems(collectionId, Bob.address, args);\n await Promise.all([\n mintItemOne.signAndSend(Ferdie),\n mintItemTwo.signAndSend(Bob),\n ]);\n await timeoutPromise(10000);\n const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexAfter.toNumber()).to.be.equal(3);\n // TokenLimit = 4. The first transaction is successful. The second should fail.\n await timeoutPromise(10000);\n});","err":{},"uuid":"91e83b7d-2a17-4a68-b90a-0c5e18f631fd","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["91e83b7d-2a17-4a68-b90a-0c5e18f631fd"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5de00d4a-8d19-4f86-9cb4-5a2c6282dcc4","title":"Turns off minting mode: ","fullFile":"/nft_parachain/tests/src/collision-tests/turnsOffMinting.test.ts","file":"/src/collision-tests/turnsOffMinting.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"The collection owner turns off minting mode and there are minting transactions in the same block ","fullTitle":"Turns off minting mode: The collection owner turns off minting mode and there are minting transactions in the same block ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));\n await helpers_1.setMintPermissionExpectSuccess(Alice, collectionId, true);\n await helpers_1.addToWhiteListExpectSuccess(Alice, collectionId, Ferdie.address);\n const mintItem = api.tx.nft.createItem(collectionId, Ferdie.address, 'NFT');\n const offMinting = api.tx.nft.setMintPermission(collectionId, false);\n await Promise.all([\n mintItem.signAndSend(Ferdie),\n offMinting.signAndSend(Alice),\n ]);\n let itemList = false;\n itemList = (await (api.query.nft.nftItemList(collectionId, mintItem))).toJSON();\n // tslint:disable-next-line: no-unused-expression\n expect(itemList).to.be.null;\n await timeoutPromise(20000);\n});","err":{},"uuid":"6040e71a-673f-40ae-8e89-53fe146b9821","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["6040e71a-673f-40ae-8e89-53fe146b9821"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"766dec6b-db31-4e6a-8bb4-22ee7c8aa73e","title":"integration test: ext. confirmSponsorship():","fullFile":"/nft_parachain/tests/src/confirmSponsorship.test.ts","file":"/src/confirmSponsorship.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"integration test: ext. confirmSponsorship(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n charlie = keyring.addFromUri('//Charlie');\n});","err":{},"uuid":"b4286b27-ec55-496e-a1f7-6c9a8189ea51","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Confirm collection sponsorship","fullTitle":"integration test: ext. confirmSponsorship(): Confirm collection sponsorship","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');","err":{},"uuid":"c785a61c-949d-48c4-82ee-4e7d03ab6683","isHook":false,"skipped":true},{"title":"Add sponsor to a collection after the same sponsor was already added and confirmed","fullTitle":"integration test: ext. confirmSponsorship(): Add sponsor to a collection after the same sponsor was already added and confirmed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);","err":{},"uuid":"4c8ba9f7-5223-4e94-984d-dc13ee0fc326","isHook":false,"skipped":true},{"title":"Add new sponsor to a collection after another sponsor was already added and confirmed","fullTitle":"integration test: ext. confirmSponsorship(): Add new sponsor to a collection after another sponsor was already added and confirmed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, charlie.address);","err":{},"uuid":"a9148812-c2fa-490d-b5da-3386918aca3e","isHook":false,"skipped":true},{"title":"NFT: Transfer fees are paid by the sponsor after confirmation","fullTitle":"integration test: ext. confirmSponsorship(): NFT: Transfer fees are paid by the sponsor after confirmation","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait substrate_api_1.default(async (api) => {\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Mint token for unused address\n const itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT', zeroBalance.address);\n // Transfer this tokens from unused address to Alice\n const zeroToAlice = api.tx.nft.transfer(helpers_1.normalizeAccountId(zeroBalance.address), collectionId, itemId, 0);\n const events = await substrate_api_1.submitTransactionAsync(zeroBalance, zeroToAlice);\n const result = helpers_1.getGenericResult(events);\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n expect(result.success).to.be.true;\n expect(BsponsorBalance.lt(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"9d5c80ab-b396-4d32-89ce-e0a05105ebb1","isHook":false,"skipped":true},{"title":"Fungible: Transfer fees are paid by the sponsor after confirmation","fullTitle":"integration test: ext. confirmSponsorship(): Fungible: Transfer fees are paid by the sponsor after confirmation","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait substrate_api_1.default(async (api) => {\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Mint token for unused address\n const itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'Fungible', zeroBalance.address);\n // Transfer this tokens from unused address to Alice\n const zeroToAlice = api.tx.nft.transfer(helpers_1.normalizeAccountId(zeroBalance.address), collectionId, itemId, 1);\n const events1 = await substrate_api_1.submitTransactionAsync(zeroBalance, zeroToAlice);\n const result1 = helpers_1.getGenericResult(events1);\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n expect(result1.success).to.be.true;\n expect(BsponsorBalance.lt(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"59ba5ffb-0029-4374-962d-79b49bc98ed0","isHook":false,"skipped":true},{"title":"ReFungible: Transfer fees are paid by the sponsor after confirmation","fullTitle":"integration test: ext. confirmSponsorship(): ReFungible: Transfer fees are paid by the sponsor after confirmation","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait substrate_api_1.default(async (api) => {\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Mint token for unused address\n const itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'ReFungible', zeroBalance.address);\n // Transfer this tokens from unused address to Alice\n const zeroToAlice = api.tx.nft.transfer(helpers_1.normalizeAccountId(zeroBalance.address), collectionId, itemId, 1);\n const events1 = await substrate_api_1.submitTransactionAsync(zeroBalance, zeroToAlice);\n const result1 = helpers_1.getGenericResult(events1);\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n expect(result1.success).to.be.true;\n expect(BsponsorBalance.lt(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"1b0854b2-3545-4b50-9d6d-5147d5ee4674","isHook":false,"skipped":true},{"title":"CreateItem fees are paid by the sponsor after confirmation","fullTitle":"integration test: ext. confirmSponsorship(): CreateItem fees are paid by the sponsor after confirmation","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\n// Enable collection white list \nawait helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\n// Enable public minting\nawait helpers_1.enablePublicMintingExpectSuccess(alice, collectionId);\n// Create Item \nawait substrate_api_1.default(async (api) => {\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Add zeroBalance address to white list\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionId, zeroBalance.address);\n // Mint token using unused address as signer\n await helpers_1.createItemExpectSuccess(zeroBalance, collectionId, 'NFT', zeroBalance.address);\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n expect(BsponsorBalance.lt(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"4971b24f-c530-424f-8564-373c9ceb0387","isHook":false,"skipped":true},{"title":"NFT: Sponsoring of transfers is rate limited","fullTitle":"integration test: ext. confirmSponsorship(): NFT: Sponsoring of transfers is rate limited","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait substrate_api_1.default(async (api) => {\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Mint token for alice\n const itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT', alice.address);\n // Transfer this token from Alice to unused address and back\n // Alice to Zero gets sponsored\n const aliceToZero = api.tx.nft.transfer(helpers_1.normalizeAccountId(zeroBalance.address), collectionId, itemId, 0);\n const events1 = await substrate_api_1.submitTransactionAsync(alice, aliceToZero);\n const result1 = helpers_1.getGenericResult(events1);\n // Second transfer should fail\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n const zeroToAlice = api.tx.nft.transfer(helpers_1.normalizeAccountId(alice.address), collectionId, itemId, 0);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(zeroBalance, zeroToAlice);\n };\n await expect(badTransaction()).to.be.rejectedWith('Inability to pay some fees');\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Try again after Zero gets some balance - now it should succeed\n const balancetx = api.tx.balances.transfer(zeroBalance.address, 1e15);\n await substrate_api_1.submitTransactionAsync(alice, balancetx);\n const events2 = await substrate_api_1.submitTransactionAsync(zeroBalance, zeroToAlice);\n const result2 = helpers_1.getGenericResult(events2);\n expect(result1.success).to.be.true;\n expect(result2.success).to.be.true;\n expect(BsponsorBalance.isEqualTo(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"d9644e67-7f38-4fbe-8b30-72036d7f6038","isHook":false,"skipped":true},{"title":"Fungible: Sponsoring is rate limited","fullTitle":"integration test: ext. confirmSponsorship(): Fungible: Sponsoring is rate limited","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait substrate_api_1.default(async (api) => {\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Mint token for unused address\n const itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'Fungible', zeroBalance.address);\n // Transfer this tokens in parts from unused address to Alice\n const zeroToAlice = api.tx.nft.transfer(helpers_1.normalizeAccountId(zeroBalance.address), collectionId, itemId, 1);\n const events1 = await substrate_api_1.submitTransactionAsync(zeroBalance, zeroToAlice);\n const result1 = helpers_1.getGenericResult(events1);\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n await expect(substrate_api_1.submitTransactionExpectFailAsync(zeroBalance, zeroToAlice)).to.be.rejected;\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Try again after Zero gets some balance - now it should succeed\n const balancetx = api.tx.balances.transfer(zeroBalance.address, 1e15);\n await substrate_api_1.submitTransactionAsync(alice, balancetx);\n const events2 = await substrate_api_1.submitTransactionAsync(zeroBalance, zeroToAlice);\n const result2 = helpers_1.getGenericResult(events2);\n expect(result1.success).to.be.true;\n expect(result2.success).to.be.true;\n expect(BsponsorBalance.isEqualTo(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"258524bd-66ff-4227-8225-59b08893ad3b","isHook":false,"skipped":true},{"title":"ReFungible: Sponsoring is rate limited","fullTitle":"integration test: ext. confirmSponsorship(): ReFungible: Sponsoring is rate limited","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait substrate_api_1.default(async (api) => {\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Mint token for alice\n const itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'ReFungible', alice.address);\n // Transfer this token from Alice to unused address and back\n // Alice to Zero gets sponsored\n const aliceToZero = api.tx.nft.transfer(helpers_1.normalizeAccountId(zeroBalance.address), collectionId, itemId, 1);\n const events1 = await substrate_api_1.submitTransactionAsync(alice, aliceToZero);\n const result1 = helpers_1.getGenericResult(events1);\n // Second transfer should fail\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n const zeroToAlice = api.tx.nft.transfer(helpers_1.normalizeAccountId(alice.address), collectionId, itemId, 1);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(zeroBalance, zeroToAlice);\n };\n await expect(badTransaction()).to.be.rejectedWith('Inability to pay some fees');\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Try again after Zero gets some balance - now it should succeed\n const balancetx = api.tx.balances.transfer(zeroBalance.address, 1e15);\n await substrate_api_1.submitTransactionAsync(alice, balancetx);\n const events2 = await substrate_api_1.submitTransactionAsync(zeroBalance, zeroToAlice);\n const result2 = helpers_1.getGenericResult(events2);\n expect(result1.success).to.be.true;\n expect(result2.success).to.be.true;\n expect(BsponsorBalance.isEqualTo(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"48f50d22-3286-43cb-a84b-a74d393ec548","isHook":false,"skipped":true},{"title":"NFT: Sponsoring of createItem is rate limited","fullTitle":"integration test: ext. confirmSponsorship(): NFT: Sponsoring of createItem is rate limited","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\n// Enable collection white list \nawait helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\n// Enable public minting\nawait helpers_1.enablePublicMintingExpectSuccess(alice, collectionId);\nawait substrate_api_1.default(async (api) => {\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Add zeroBalance address to white list\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionId, zeroBalance.address);\n // Mint token using unused address as signer - gets sponsored\n await helpers_1.createItemExpectSuccess(zeroBalance, collectionId, 'NFT', zeroBalance.address);\n // Second mint should fail\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n const consoleError = console.error;\n const consoleLog = console.log;\n console.error = () => { };\n console.log = () => { };\n const badTransaction = async function () {\n await helpers_1.createItemExpectSuccess(zeroBalance, collectionId, 'NFT', zeroBalance.address);\n };\n await expect(badTransaction()).to.be.rejectedWith('Inability to pay some fees');\n console.error = consoleError;\n console.log = consoleLog;\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n // Try again after Zero gets some balance - now it should succeed\n const balancetx = api.tx.balances.transfer(zeroBalance.address, 1e15);\n await substrate_api_1.submitTransactionAsync(alice, balancetx);\n await helpers_1.createItemExpectSuccess(zeroBalance, collectionId, 'NFT', zeroBalance.address);\n expect(BsponsorBalance.isEqualTo(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"32f2965d-0780-4b43-86fc-67a271e1ff30","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["c785a61c-949d-48c4-82ee-4e7d03ab6683","4c8ba9f7-5223-4e94-984d-dc13ee0fc326","a9148812-c2fa-490d-b5da-3386918aca3e","9d5c80ab-b396-4d32-89ce-e0a05105ebb1","59ba5ffb-0029-4374-962d-79b49bc98ed0","1b0854b2-3545-4b50-9d6d-5147d5ee4674","4971b24f-c530-424f-8564-373c9ceb0387","d9644e67-7f38-4fbe-8b30-72036d7f6038","258524bd-66ff-4227-8225-59b08893ad3b","48f50d22-3286-43cb-a84b-a74d393ec548","32f2965d-0780-4b43-86fc-67a271e1ff30"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"88813bee-d3e9-4529-938f-39a104c2bf5f","title":"(!negative test!) integration test: ext. confirmSponsorship():","fullFile":"/nft_parachain/tests/src/confirmSponsorship.test.ts","file":"/src/confirmSponsorship.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"(!negative test!) integration test: ext. confirmSponsorship(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n charlie = keyring.addFromUri('//Charlie');\n});","err":{},"uuid":"39ec5fac-f548-4199-aaf5-4e22a0ad6f54","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"(!negative test!) Confirm sponsorship for a collection that never existed","fullTitle":"(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship for a collection that never existed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// Find the collection that never existed\nlet collectionId = 0;\nawait substrate_api_1.default(async (api) => {\n collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n});\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Bob');","err":{},"uuid":"973687a1-333a-40e3-924d-2408e5de9501","isHook":false,"skipped":true},{"title":"(!negative test!) Confirm sponsorship using a non-sponsor address","fullTitle":"(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship using a non-sponsor address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait substrate_api_1.default(async (api) => {\n const transfer = api.tx.balances.transfer(charlie.address, 1e15);\n await substrate_api_1.submitTransactionAsync(alice, transfer);\n});\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Charlie');","err":{},"uuid":"e37becf5-1cf7-451b-a7a7-9fabc4a12391","isHook":false,"skipped":true},{"title":"(!negative test!) Confirm sponsorship using owner address","fullTitle":"(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship using owner address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Alice');","err":{},"uuid":"36d28ed5-82ad-4257-9734-554e5a9ec508","isHook":false,"skipped":true},{"title":"(!negative test!) Confirm sponsorship by collection admin","fullTitle":"(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship by collection admin","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, charlie);\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Charlie');","err":{},"uuid":"9aee7e92-89f3-461b-b74b-c22d18a5a8ab","isHook":false,"skipped":true},{"title":"(!negative test!) Confirm sponsorship without sponsor being set with setCollectionSponsor","fullTitle":"(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship without sponsor being set with setCollectionSponsor","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Bob');","err":{},"uuid":"43dcb5ee-e6a2-496e-9323-c497a9de08c9","isHook":false,"skipped":true},{"title":"(!negative test!) Confirm sponsorship in a collection that was destroyed","fullTitle":"(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship in a collection that was destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Bob');","err":{},"uuid":"85c85227-5b3b-4053-9933-f98fa8f3626e","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["973687a1-333a-40e3-924d-2408e5de9501","e37becf5-1cf7-451b-a7a7-9fabc4a12391","36d28ed5-82ad-4257-9734-554e5a9ec508","9aee7e92-89f3-461b-b74b-c22d18a5a8ab","43dcb5ee-e6a2-496e-9323-c497a9de08c9","85c85227-5b3b-4053-9933-f98fa8f3626e"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"b01fbe26-19a1-4422-a804-a211fa4e8126","title":"Connection smoke test","fullFile":"/nft_parachain/tests/src/connection.test.ts","file":"/src/connection.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Connection can be established","fullTitle":"Connection smoke test Connection can be established","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const health = await api.rpc.system.health();\n expect(health).to.be.not.empty;\n});","err":{},"uuid":"0a85f403-5d49-4f62-8c6d-4c9fc6b5f8cf","isHook":false,"skipped":true},{"title":"Cannot connect to 255.255.255.255","fullTitle":"Connection smoke test Cannot connect to 255.255.255.255","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const log = console.log;\nconst error = console.error;\nconsole.log = function () { };\nconsole.error = function () { };\nconst neverConnectProvider = new api_1.WsProvider('ws://255.255.255.255:9944');\nawait expect((async () => {\n await substrate_api_1.default(async (api) => {\n await api.rpc.system.health();\n }, { provider: neverConnectProvider });\n})()).to.be.eventually.rejected;\nconsole.log = log;\nconsole.error = error;","err":{},"uuid":"7b68037c-74fb-495e-adb8-14b78794055b","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["0a85f403-5d49-4f62-8c6d-4c9fc6b5f8cf","7b68037c-74fb-495e-adb8-14b78794055b"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"e295e9c4-ce58-49b4-ac64-b58f1ae54d95","title":"Contracts","fullFile":"/nft_parachain/tests/src/contracts.test.ts","file":"/src/contracts.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Can deploy smart contract Flipper, instantiate it and call it's get and flip messages.","fullTitle":"Contracts Can deploy smart contract Flipper, instantiate it and call it's get and flip messages.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"5ae5e427-bfd6-4097-a812-5a4c7495d3b6","isHook":false,"skipped":false},{"title":"Can initialize contract instance","fullTitle":"Contracts Can initialize contract instance","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"5e9d5065-d0cb-4b2b-8128-edc38b2dad13","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["5ae5e427-bfd6-4097-a812-5a4c7495d3b6","5e9d5065-d0cb-4b2b-8128-edc38b2dad13"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"9afd16cd-2a47-40a7-97c3-3ef651542e0b","title":"Chain extensions","fullFile":"/nft_parachain/tests/src/contracts.test.ts","file":"/src/contracts.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Transfer CE","fullTitle":"Chain extensions Transfer CE","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"5dfccf7a-0eee-404d-a956-d1093df221bc","isHook":false,"skipped":false},{"title":"Mint CE","fullTitle":"Chain extensions Mint CE","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"1131b325-d3c6-4b9e-9497-d7eb26256295","isHook":false,"skipped":false},{"title":"Bulk mint CE","fullTitle":"Chain extensions Bulk mint CE","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"a9c700c8-c6f7-45aa-9802-d26245bf4d87","isHook":false,"skipped":false},{"title":"Approve CE","fullTitle":"Chain extensions Approve CE","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"63d3b2aa-a8b8-4bdf-8e93-80c68eb72c82","isHook":false,"skipped":false},{"title":"TransferFrom CE","fullTitle":"Chain extensions TransferFrom CE","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"cd69fa28-097d-4b4f-a0a0-0023fda654a2","isHook":false,"skipped":false},{"title":"SetVariableMetaData CE","fullTitle":"Chain extensions SetVariableMetaData CE","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"47084172-5068-4118-85b1-9d7b41fa0376","isHook":false,"skipped":false},{"title":"ToggleWhiteList CE","fullTitle":"Chain extensions ToggleWhiteList CE","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"0fd23521-9e89-4234-97be-7d191b812c7e","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["5dfccf7a-0eee-404d-a956-d1093df221bc","1131b325-d3c6-4b9e-9497-d7eb26256295","a9c700c8-c6f7-45aa-9802-d26245bf4d87","63d3b2aa-a8b8-4bdf-8e93-80c68eb72c82","cd69fa28-097d-4b4f-a0a0-0023fda654a2","47084172-5068-4118-85b1-9d7b41fa0376","0fd23521-9e89-4234-97be-7d191b812c7e"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"bf4639b9-c375-4f1b-9282-6dfc0923585c","title":"integration test: ext. createCollection():","fullFile":"/nft_parachain/tests/src/createCollection.test.ts","file":"/src/createCollection.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Create new NFT collection","fullTitle":"integration test: ext. createCollection(): Create new NFT collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectSuccess({ name: 'A', description: 'B', tokenPrefix: 'C', mode: { type: 'NFT' } });","err":{},"uuid":"0f328998-69e2-4773-a450-5e528a55d733","isHook":false,"skipped":true},{"title":"Create new NFT collection whith collection_name of maximum length (64 bytes)","fullTitle":"integration test: ext. createCollection(): Create new NFT collection whith collection_name of maximum length (64 bytes)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectSuccess({ name: 'A'.repeat(64) });","err":{},"uuid":"3b912026-7a85-4f13-881b-2e33a3d62e9a","isHook":false,"skipped":true},{"title":"Create new NFT collection whith collection_description of maximum length (256 bytes)","fullTitle":"integration test: ext. createCollection(): Create new NFT collection whith collection_description of maximum length (256 bytes)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectSuccess({ description: 'A'.repeat(256) });","err":{},"uuid":"779e3c68-ea23-4575-8e6b-d9c7ae101cc7","isHook":false,"skipped":true},{"title":"Create new NFT collection whith token_prefix of maximum length (16 bytes)","fullTitle":"integration test: ext. createCollection(): Create new NFT collection whith token_prefix of maximum length (16 bytes)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectSuccess({ tokenPrefix: 'A'.repeat(16) });","err":{},"uuid":"f5f2387d-7ff0-4cd5-90fb-5391d9d23313","isHook":false,"skipped":true},{"title":"Create new Fungible collection","fullTitle":"integration test: ext. createCollection(): Create new Fungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });","err":{},"uuid":"6329e7c6-186c-47aa-808f-6c1ba6520459","isHook":false,"skipped":true},{"title":"Create new ReFungible collection","fullTitle":"integration test: ext. createCollection(): Create new ReFungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });","err":{},"uuid":"03366c56-3814-4715-99cf-33baac1f84c5","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["0f328998-69e2-4773-a450-5e528a55d733","3b912026-7a85-4f13-881b-2e33a3d62e9a","779e3c68-ea23-4575-8e6b-d9c7ae101cc7","f5f2387d-7ff0-4cd5-90fb-5391d9d23313","6329e7c6-186c-47aa-808f-6c1ba6520459","03366c56-3814-4715-99cf-33baac1f84c5"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"a295c2d7-d283-4e68-a345-3daa44dffca9","title":"(!negative test!) integration test: ext. createCollection():","fullFile":"/nft_parachain/tests/src/createCollection.test.ts","file":"/src/createCollection.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"(!negative test!) create new NFT collection whith incorrect data (mode)","fullTitle":"(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (mode)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const AcollectionCount = parseInt((await api.query.nft.createdCollectionCount()).toString(), 10);\n const badTransaction = async () => {\n await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Invalid' } });\n };\n // tslint:disable-next-line:no-unused-expression\n expect(badTransaction()).to.be.rejected;\n const BcollectionCount = parseInt((await api.query.nft.createdCollectionCount()).toString(), 10);\n expect(BcollectionCount).to.be.equal(AcollectionCount, 'Error: Incorrect collection created.');\n});","err":{},"uuid":"d83a661f-a409-452b-b322-4e3708101361","isHook":false,"skipped":true},{"title":"(!negative test!) create new NFT collection whith incorrect data (collection_name)","fullTitle":"(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (collection_name)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectFailure({ name: 'A'.repeat(65), mode: { type: 'NFT' } });","err":{},"uuid":"7d6758ad-10e3-4466-b647-4d9220c70b03","isHook":false,"skipped":true},{"title":"(!negative test!) create new NFT collection whith incorrect data (collection_description)","fullTitle":"(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (collection_description)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectFailure({ description: 'A'.repeat(257), mode: { type: 'NFT' } });","err":{},"uuid":"3ba21132-1816-420a-abcc-da80f46e87a3","isHook":false,"skipped":true},{"title":"(!negative test!) create new NFT collection whith incorrect data (token_prefix)","fullTitle":"(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (token_prefix)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectFailure({ tokenPrefix: 'A'.repeat(17), mode: { type: 'NFT' } });","err":{},"uuid":"78b8acf1-36a3-4104-9b4c-f80cbabf95af","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["d83a661f-a409-452b-b322-4e3708101361","7d6758ad-10e3-4466-b647-4d9220c70b03","3ba21132-1816-420a-abcc-da80f46e87a3","78b8acf1-36a3-4104-9b4c-f80cbabf95af"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"86873356-b6ed-4bf9-9ffb-6060b7757ace","title":"integration test: ext. createItem():","fullFile":"/nft_parachain/tests/src/createItem.test.ts","file":"/src/createItem.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"integration test: ext. createItem(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"a77cc8c0-c5c3-463b-a710-af175ab1ae33","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Create new item in NFT collection","fullTitle":"integration test: ext. createItem(): Create new item in NFT collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait helpers_1.createItemExpectSuccess(alice, newCollectionID, createMode);","err":{},"uuid":"d49d97df-b93b-4980-8377-088992f5a97c","isHook":false,"skipped":true},{"title":"Create new item in Fungible collection","fullTitle":"integration test: ext. createItem(): Create new item in Fungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'Fungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode, decimalPoints: 0 } });\nawait helpers_1.createItemExpectSuccess(alice, newCollectionID, createMode);","err":{},"uuid":"17151dee-f03e-4576-be19-0bff3dbb99b1","isHook":false,"skipped":true},{"title":"Create new item in ReFungible collection","fullTitle":"integration test: ext. createItem(): Create new item in ReFungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'ReFungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait helpers_1.createItemExpectSuccess(alice, newCollectionID, createMode);","err":{},"uuid":"a843d3cf-c669-4f8d-ac0f-69ad79f4399f","isHook":false,"skipped":true},{"title":"Create new item in NFT collection with collection admin permissions","fullTitle":"integration test: ext. createItem(): Create new item in NFT collection with collection admin permissions","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait helpers_1.addCollectionAdminExpectSuccess(alice, newCollectionID, bob);\nawait helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode);","err":{},"uuid":"0d53673a-eea6-48cb-a347-58826b2f4e0c","isHook":false,"skipped":true},{"title":"Create new item in Fungible collection with collection admin permissions","fullTitle":"integration test: ext. createItem(): Create new item in Fungible collection with collection admin permissions","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'Fungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode, decimalPoints: 0 } });\nawait helpers_1.addCollectionAdminExpectSuccess(alice, newCollectionID, bob);\nawait helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode);","err":{},"uuid":"f2079a87-c322-48f3-8c55-b039dfa6a631","isHook":false,"skipped":true},{"title":"Create new item in ReFungible collection with collection admin permissions","fullTitle":"integration test: ext. createItem(): Create new item in ReFungible collection with collection admin permissions","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'ReFungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait helpers_1.addCollectionAdminExpectSuccess(alice, newCollectionID, bob);\nawait helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode);","err":{},"uuid":"440acee4-6142-4675-a0c9-8bf8eed167fe","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["d49d97df-b93b-4980-8377-088992f5a97c","17151dee-f03e-4576-be19-0bff3dbb99b1","a843d3cf-c669-4f8d-ac0f-69ad79f4399f","0d53673a-eea6-48cb-a347-58826b2f4e0c","f2079a87-c322-48f3-8c55-b039dfa6a631","440acee4-6142-4675-a0c9-8bf8eed167fe"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"d8760f1e-4b04-4384-ae6a-1f3f2e98bf80","title":"Negative integration test: ext. createItem():","fullFile":"/nft_parachain/tests/src/createItem.test.ts","file":"/src/createItem.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative integration test: ext. createItem(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"f7f7d52d-b852-444c-b448-41eedd575398","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Regular user cannot create new item in NFT collection","fullTitle":"Negative integration test: ext. createItem(): Regular user cannot create new item in NFT collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'NFT';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait expect(helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode)).to.be.rejected;","err":{},"uuid":"343c1699-ab93-43b5-b20c-9991e6e94c78","isHook":false,"skipped":true},{"title":"Regular user cannot create new item in Fungible collection","fullTitle":"Negative integration test: ext. createItem(): Regular user cannot create new item in Fungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'Fungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode, decimalPoints: 0 } });\nawait expect(helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode)).to.be.rejected;","err":{},"uuid":"4a67baef-0ec5-44d9-827f-2db5d6752940","isHook":false,"skipped":true},{"title":"Regular user cannot create new item in ReFungible collection","fullTitle":"Negative integration test: ext. createItem(): Regular user cannot create new item in ReFungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const createMode = 'ReFungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait expect(helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode)).to.be.rejected;","err":{},"uuid":"723df5d5-8595-4e32-9ab1-f3d6831235c0","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["343c1699-ab93-43b5-b20c-9991e6e94c78","4a67baef-0ec5-44d9-827f-2db5d6752940","723df5d5-8595-4e32-9ab1-f3d6831235c0"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"64eb7f91-3e10-4ccf-9650-651719037593","title":"Integration Test createMultipleItems(collection_id, owner, items_data):","fullFile":"/nft_parachain/tests/src/createMultipleItems.test.ts","file":"/src/createMultipleItems.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Create 0x31, 0x32, 0x33 items in active NFT collection and verify tokens data in chain","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data): Create 0x31, 0x32, 0x33 items in active NFT collection and verify tokens data in chain","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n const Alice = privateKey_1.default('//Alice');\n const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await substrate_api_1.submitTransactionAsync(Alice, createMultipleItemsTx);\n const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexAfter.toNumber()).to.be.equal(3);\n const token1Data = (await api.query.nft.nftItemList(collectionId, 1)).toJSON();\n const token2Data = (await api.query.nft.nftItemList(collectionId, 2)).toJSON();\n const token3Data = (await api.query.nft.nftItemList(collectionId, 3)).toJSON();\n expect(token1Data.Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Alice.address));\n expect(token2Data.Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Alice.address));\n expect(token3Data.Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Alice.address));\n expect(token1Data.ConstData.toString()).to.be.equal('0x31');\n expect(token2Data.ConstData.toString()).to.be.equal('0x32');\n expect(token3Data.ConstData.toString()).to.be.equal('0x33');\n expect(token1Data.VariableData.toString()).to.be.equal('0x31');\n expect(token2Data.VariableData.toString()).to.be.equal('0x32');\n expect(token3Data.VariableData.toString()).to.be.equal('0x33');\n});","err":{},"uuid":"dde52380-97a1-4527-81e5-6210ed37b0e0","isHook":false,"skipped":true},{"title":"Create 0x01, 0x02, 0x03 items in active Fungible collection and verify tokens data in chain","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data): Create 0x01, 0x02, 0x03 items in active Fungible collection and verify tokens data in chain","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n const Alice = privateKey_1.default('//Alice');\n const args = [\n { fungible: { value: 1 } },\n { fungible: { value: 2 } },\n { fungible: { value: 3 } },\n ];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await substrate_api_1.submitTransactionAsync(Alice, createMultipleItemsTx);\n const token1Data = (await api.query.nft.fungibleItemList(collectionId, Alice.address)).toJSON();\n expect(token1Data.Value).to.be.equal(6); // 1 + 2 + 3\n});","err":{},"uuid":"2e4b5045-d586-4ea0-886c-48a123adbec8","isHook":false,"skipped":true},{"title":"Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data): Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n const Alice = privateKey_1.default('//Alice');\n const args = [\n { refungible: { const_data: [0x31], variable_data: [0x31], pieces: 1 } },\n { refungible: { const_data: [0x32], variable_data: [0x32], pieces: 1 } },\n { refungible: { const_data: [0x33], variable_data: [0x33], pieces: 1 } },\n ];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await substrate_api_1.submitTransactionAsync(Alice, createMultipleItemsTx);\n const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexAfter.toNumber()).to.be.equal(3);\n const token1Data = (await api.query.nft.reFungibleItemList(collectionId, 1)).toJSON();\n const token2Data = (await api.query.nft.reFungibleItemList(collectionId, 2)).toJSON();\n const token3Data = (await api.query.nft.reFungibleItemList(collectionId, 3)).toJSON();\n expect(token1Data.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Alice.address));\n expect(token1Data.Owner[0].Fraction).to.be.equal(1);\n expect(token2Data.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Alice.address));\n expect(token2Data.Owner[0].Fraction).to.be.equal(1);\n expect(token3Data.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Alice.address));\n expect(token3Data.Owner[0].Fraction).to.be.equal(1);\n expect(token1Data.ConstData.toString()).to.be.equal('0x31');\n expect(token2Data.ConstData.toString()).to.be.equal('0x32');\n expect(token3Data.ConstData.toString()).to.be.equal('0x33');\n expect(token1Data.VariableData.toString()).to.be.equal('0x31');\n expect(token2Data.VariableData.toString()).to.be.equal('0x32');\n expect(token3Data.VariableData.toString()).to.be.equal('0x33');\n});","err":{},"uuid":"10ac40e1-7fcc-4104-b52a-f9bb3c5eec14","isHook":false,"skipped":true},{"title":"Can mint amount of items equals to collection limits","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data): Can mint amount of items equals to collection limits","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const alice = privateKey_1.default('//Alice');\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, {\n TokenLimit: 2,\n });\n const args = [\n { nft: ['A', 'A'] },\n { nft: ['B', 'B'] },\n ];\n const createMultipleItemsTx = api.tx.nft.createMultipleItems(collectionId, helpers_1.normalizeAccountId(alice.address), args);\n const events = await substrate_api_1.submitTransactionAsync(alice, createMultipleItemsTx);\n const result = helpers_1.getGenericResult(events);\n expect(result.success).to.be.true;\n});","err":{},"uuid":"d2aa77dc-43c0-4eb1-87ed-99e59b7c8699","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["dde52380-97a1-4527-81e5-6210ed37b0e0","2e4b5045-d586-4ea0-886c-48a123adbec8","10ac40e1-7fcc-4104-b52a-f9bb3c5eec14","d2aa77dc-43c0-4eb1-87ed-99e59b7c8699"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"1d0a4943-7714-4aee-97fb-92e9815a934e","title":"Integration Test createMultipleItems(collection_id, owner, items_data) with collection admin permissions:","fullFile":"/nft_parachain/tests/src/createMultipleItems.test.ts","file":"/src/createMultipleItems.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data) with collection admin permissions: \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"4b8317d6-26d2-4a76-b36f-021b60e22414","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Create 0x31, 0x32, 0x33 items in active NFT collection and verify tokens data in chain","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data) with collection admin permissions: Create 0x31, 0x32, 0x33 items in active NFT collection and verify tokens data in chain","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n await helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\n const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Bob.address), args);\n await substrate_api_1.submitTransactionAsync(Bob, createMultipleItemsTx);\n const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexAfter.toNumber()).to.be.equal(3);\n const token1Data = (await api.query.nft.nftItemList(collectionId, 1)).toJSON();\n const token2Data = (await api.query.nft.nftItemList(collectionId, 2)).toJSON();\n const token3Data = (await api.query.nft.nftItemList(collectionId, 3)).toJSON();\n expect(token1Data.Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Bob.address));\n expect(token2Data.Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Bob.address));\n expect(token3Data.Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Bob.address));\n expect(token1Data.ConstData.toString()).to.be.equal('0x31');\n expect(token2Data.ConstData.toString()).to.be.equal('0x32');\n expect(token3Data.ConstData.toString()).to.be.equal('0x33');\n expect(token1Data.VariableData.toString()).to.be.equal('0x31');\n expect(token2Data.VariableData.toString()).to.be.equal('0x32');\n expect(token3Data.VariableData.toString()).to.be.equal('0x33');\n});","err":{},"uuid":"bb637f9d-b9ea-451c-a30a-492542fd6843","isHook":false,"skipped":true},{"title":"Create 0x01, 0x02, 0x03 items in active Fungible collection and verify tokens data in chain","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data) with collection admin permissions: Create 0x01, 0x02, 0x03 items in active Fungible collection and verify tokens data in chain","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n await helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\n const args = [\n { fungible: { value: 1 } },\n { fungible: { value: 2 } },\n { fungible: { value: 3 } },\n ];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Bob.address), args);\n await substrate_api_1.submitTransactionAsync(Bob, createMultipleItemsTx);\n const token1Data = (await api.query.nft.fungibleItemList(collectionId, Bob.address)).toJSON();\n expect(token1Data.Value).to.be.equal(6); // 1 + 2 + 3\n});","err":{},"uuid":"c46c8746-1cc5-453e-90d1-d923be03f694","isHook":false,"skipped":true},{"title":"Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain","fullTitle":"Integration Test createMultipleItems(collection_id, owner, items_data) with collection admin permissions: Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n await helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\n const args = [\n { refungible: { const_data: [0x31], variable_data: [0x31], pieces: 1 } },\n { refungible: { const_data: [0x32], variable_data: [0x32], pieces: 1 } },\n { refungible: { const_data: [0x33], variable_data: [0x33], pieces: 1 } },\n ];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Bob.address), args);\n await substrate_api_1.submitTransactionAsync(Bob, createMultipleItemsTx);\n const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexAfter.toNumber()).to.be.equal(3);\n const token1Data = (await api.query.nft.reFungibleItemList(collectionId, 1)).toJSON();\n const token2Data = (await api.query.nft.reFungibleItemList(collectionId, 2)).toJSON();\n const token3Data = (await api.query.nft.reFungibleItemList(collectionId, 3)).toJSON();\n expect(token1Data.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Bob.address));\n expect(token1Data.Owner[0].Fraction).to.be.equal(1);\n expect(token2Data.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Bob.address));\n expect(token2Data.Owner[0].Fraction).to.be.equal(1);\n expect(token3Data.Owner[0].Owner).to.be.deep.equal(helpers_1.normalizeAccountId(Bob.address));\n expect(token3Data.Owner[0].Fraction).to.be.equal(1);\n expect(token1Data.ConstData.toString()).to.be.equal('0x31');\n expect(token2Data.ConstData.toString()).to.be.equal('0x32');\n expect(token3Data.ConstData.toString()).to.be.equal('0x33');\n expect(token1Data.VariableData.toString()).to.be.equal('0x31');\n expect(token2Data.VariableData.toString()).to.be.equal('0x32');\n expect(token3Data.VariableData.toString()).to.be.equal('0x33');\n});","err":{},"uuid":"505dee22-4a1b-4911-b40e-e4b124c5b5fa","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["bb637f9d-b9ea-451c-a30a-492542fd6843","c46c8746-1cc5-453e-90d1-d923be03f694","505dee22-4a1b-4911-b40e-e4b124c5b5fa"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"8288ec61-5a92-4dc4-95cd-f66b844286ac","title":"Negative Integration Test createMultipleItems(collection_id, owner, items_data):","fullFile":"/nft_parachain/tests/src/createMultipleItems.test.ts","file":"/src/createMultipleItems.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"533cb0fd-f60f-44cc-9049-454848ccdcf8","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Regular user cannot create items in active NFT collection","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Regular user cannot create items in active NFT collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await expect(substrate_api_1.submitTransactionAsync(Bob, createMultipleItemsTx)).to.be.rejected;\n});","err":{},"uuid":"0b0aa09f-6e5c-462f-86e4-86fb59d07e3a","isHook":false,"skipped":true},{"title":"Regular user cannot create items in active Fungible collection","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Regular user cannot create items in active Fungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n const args = [\n { fungible: { value: 1 } },\n { fungible: { value: 2 } },\n { fungible: { value: 3 } },\n ];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await expect(substrate_api_1.submitTransactionAsync(Bob, createMultipleItemsTx)).to.be.rejected;\n});","err":{},"uuid":"3c3fda06-6710-4b6b-b3c3-646378b4ae92","isHook":false,"skipped":true},{"title":"Regular user cannot create items in active ReFungible collection","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Regular user cannot create items in active ReFungible collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId);\n expect(itemsListIndexBefore.toNumber()).to.be.equal(0);\n const args = [\n { refungible: { const_data: [0x31], variable_data: [0x31], pieces: 1 } },\n { refungible: { const_data: [0x32], variable_data: [0x32], pieces: 1 } },\n { refungible: { const_data: [0x33], variable_data: [0x33], pieces: 1 } },\n ];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await expect(substrate_api_1.submitTransactionAsync(Bob, createMultipleItemsTx)).to.be.rejected;\n});","err":{},"uuid":"baf53ce7-d08d-483e-88d0-a4b2075b3d1f","isHook":false,"skipped":true},{"title":"Create token with not existing type","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create token with not existing type","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n try {\n const args = [{ invalid: null }, { invalid: null }, { invalid: null }];\n const createMultipleItemsTx = await api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;\n }\n catch (e) {\n // tslint:disable-next-line:no-unused-expression\n expect(e).to.be.exist;\n }\n});","err":{},"uuid":"168fcf78-ea46-4da2-9260-cf769a9ec1b7","isHook":false,"skipped":true},{"title":"Create token in not existing collection","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create token in not existing collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), ['NFT', 'NFT', 'NFT']);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;\n});","err":{},"uuid":"93ac2bab-a5ad-4328-96a9-3f1fdbf33dd8","isHook":false,"skipped":true},{"title":"Create NFT and Re-fungible tokens that has reached the maximum data limit","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create NFT and Re-fungible tokens that has reached the maximum data limit","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // NFT\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const Alice = privateKey_1.default('//Alice');\n const args = [\n { nft: ['A'.repeat(2049), 'A'.repeat(2049)] },\n { nft: ['B'.repeat(2049), 'B'.repeat(2049)] },\n { nft: ['C'.repeat(2049), 'C'.repeat(2049)] },\n ];\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;\n // ReFungible\n const collectionIdReFungible = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const argsReFungible = [\n { ReFungible: ['1'.repeat(2049), '1'.repeat(2049), 10] },\n { ReFungible: ['2'.repeat(2049), '2'.repeat(2049), 10] },\n { ReFungible: ['3'.repeat(2049), '3'.repeat(2049), 10] },\n ];\n const createMultipleItemsTxFungible = api.tx.nft\n .createMultipleItems(collectionIdReFungible, helpers_1.normalizeAccountId(Alice.address), argsReFungible);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, createMultipleItemsTxFungible)).to.be.rejected;\n});","err":{},"uuid":"88ca0edf-1f0d-4c88-9920-983dec0902f7","isHook":false,"skipped":true},{"title":"Create tokens with different types","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create tokens with different types","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const createMultipleItemsTx = api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), ['NFT', 'Fungible', 'ReFungible']);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;\n // garbage collection :-D\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n});","err":{},"uuid":"175de1dd-2b17-4cb8-b061-e5a55b5a50e9","isHook":false,"skipped":true},{"title":"Create tokens with different data limits <> maximum data limit","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create tokens with different data limits <> maximum data limit","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const args = [\n { nft: ['A', 'A'] },\n { nft: ['B', 'B'.repeat(2049)] },\n { nft: ['C'.repeat(2049), 'C'] },\n ];\n const createMultipleItemsTx = await api.tx.nft\n .createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;\n});","err":{},"uuid":"2b4d53f9-f5e7-4a23-949a-3ac95b3fbbcd","isHook":false,"skipped":true},{"title":"Fails when minting tokens exceeds collectionLimits amount","fullTitle":"Negative Integration Test createMultipleItems(collection_id, owner, items_data): Fails when minting tokens exceeds collectionLimits amount","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.setCollectionLimitsExpectSuccess(Alice, collectionId, {\n TokenLimit: 1,\n });\n const args = [\n { nft: ['A', 'A'] },\n { nft: ['B', 'B'] },\n ];\n const createMultipleItemsTx = api.tx.nft.createMultipleItems(collectionId, helpers_1.normalizeAccountId(Alice.address), args);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;\n});","err":{},"uuid":"c08e3a79-415f-432e-ba59-bce028a4fd65","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["0b0aa09f-6e5c-462f-86e4-86fb59d07e3a","3c3fda06-6710-4b6b-b3c3-646378b4ae92","baf53ce7-d08d-483e-88d0-a4b2075b3d1f","168fcf78-ea46-4da2-9260-cf769a9ec1b7","93ac2bab-a5ad-4328-96a9-3f1fdbf33dd8","88ca0edf-1f0d-4c88-9920-983dec0902f7","175de1dd-2b17-4cb8-b061-e5a55b5a50e9","2b4d53f9-f5e7-4a23-949a-3ac95b3fbbcd","c08e3a79-415f-432e-ba59-bce028a4fd65"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"36c38616-c13a-4557-9cb9-1c3706f3ac7f","title":"integration test: Fees must be credited to Treasury:","fullFile":"/nft_parachain/tests/src/creditFeesToTreasury.test.ts","file":"/src/creditFeesToTreasury.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"integration test: Fees must be credited to Treasury: \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"d82f2f76-897d-4b82-b2fa-668962c68547","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Total issuance does not change","fullTitle":"integration test: Fees must be credited to Treasury: Total issuance does not change","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await skipInflationBlock(api);\n await wait_new_blocks_1.default(api, 1);\n const totalBefore = new bignumber_js_1.BigNumber((await api.query.balances.totalIssuance()).toString());\n const alicePrivateKey = privateKey_1.default('//Alice');\n const amount = new bignumber_js_1.BigNumber(1);\n const transfer = api.tx.balances.transfer(accounts_1.bobsPublicKey, amount.toFixed());\n const result = helpers_1.getGenericResult(await substrate_api_1.submitTransactionAsync(alicePrivateKey, transfer));\n const totalAfter = new bignumber_js_1.BigNumber((await api.query.balances.totalIssuance()).toString());\n expect(result.success).to.be.true;\n expect(totalAfter.toFixed()).to.be.equal(totalBefore.toFixed());\n});","err":{},"uuid":"30283cd1-c50d-47fe-a990-3e1bbb81dc54","isHook":false,"skipped":true},{"title":"Sender balance decreased by fee+sent amount, Treasury balance increased by fee","fullTitle":"integration test: Fees must be credited to Treasury: Sender balance decreased by fee+sent amount, Treasury balance increased by fee","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await skipInflationBlock(api);\n await wait_new_blocks_1.default(api, 1);\n const alicePrivateKey = privateKey_1.default('//Alice');\n const treasuryBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(Treasury)).data.free.toString());\n const aliceBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n const amount = new bignumber_js_1.BigNumber(1);\n const transfer = api.tx.balances.transfer(accounts_1.bobsPublicKey, amount.toFixed());\n const result = helpers_1.getGenericResult(await substrate_api_1.submitTransactionAsync(alicePrivateKey, transfer));\n const treasuryBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(Treasury)).data.free.toString());\n const aliceBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n const fee = aliceBalanceBefore.minus(aliceBalanceAfter).minus(amount);\n const treasuryIncrease = treasuryBalanceAfter.minus(treasuryBalanceBefore);\n expect(result.success).to.be.true;\n expect(treasuryIncrease.toFixed()).to.be.equal(fee.toFixed());\n});","err":{},"uuid":"129ec89e-7233-46b1-9406-e8f837ec7df7","isHook":false,"skipped":true},{"title":"Treasury balance increased by failed tx fee","fullTitle":"integration test: Fees must be credited to Treasury: Treasury balance increased by failed tx fee","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await skipInflationBlock(api);\n await wait_new_blocks_1.default(api, 1);\n const bobPrivateKey = privateKey_1.default('//Bob');\n const treasuryBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(Treasury)).data.free.toString());\n const bobBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.bobsPublicKey)).data.free.toString());\n const badTx = api.tx.balances.setBalance(accounts_1.alicesPublicKey, 0, 0);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(bobPrivateKey, badTx)).to.be.rejected;\n const treasuryBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(Treasury)).data.free.toString());\n const bobBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.bobsPublicKey)).data.free.toString());\n const fee = bobBalanceBefore.minus(bobBalanceAfter);\n const treasuryIncrease = treasuryBalanceAfter.minus(treasuryBalanceBefore);\n expect(treasuryIncrease.toFixed()).to.be.equal(fee.toFixed());\n});","err":{},"uuid":"93062bf3-a522-428b-922b-80684d2cc0a0","isHook":false,"skipped":true},{"title":"NFT Transactions also send fees to Treasury","fullTitle":"integration test: Fees must be credited to Treasury: NFT Transactions also send fees to Treasury","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await skipInflationBlock(api);\n await wait_new_blocks_1.default(api, 1);\n const treasuryBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(Treasury)).data.free.toString());\n const aliceBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n await helpers_1.createCollectionExpectSuccess();\n const treasuryBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(Treasury)).data.free.toString());\n const aliceBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n const fee = aliceBalanceBefore.minus(aliceBalanceAfter);\n const treasuryIncrease = treasuryBalanceAfter.minus(treasuryBalanceBefore);\n expect(treasuryIncrease.toFixed()).to.be.equal(fee.toFixed());\n});","err":{},"uuid":"9f2156c7-beb1-40eb-84fb-754b080e4575","isHook":false,"skipped":true},{"title":"Fees are sane","fullTitle":"integration test: Fees must be credited to Treasury: Fees are sane","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await skipInflationBlock(api);\n await wait_new_blocks_1.default(api, 1);\n const aliceBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n await helpers_1.createCollectionExpectSuccess();\n const aliceBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n const fee = aliceBalanceBefore.minus(aliceBalanceAfter);\n expect(fee.dividedBy(1e15).toNumber()).to.be.lessThan(saneMaximumFee + createCollectionDeposit);\n expect(fee.dividedBy(1e15).toNumber()).to.be.greaterThan(saneMinimumFee + createCollectionDeposit);\n});","err":{},"uuid":"b771b916-77d8-4052-a811-a1080c925937","isHook":false,"skipped":true},{"title":"NFT Transfer fee is close to 0.1 Unique","fullTitle":"integration test: Fees must be credited to Treasury: NFT Transfer fee is close to 0.1 Unique","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await skipInflationBlock(api);\n await wait_new_blocks_1.default(api, 1);\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT');\n const aliceBalanceBefore = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n await helpers_1.transferExpectSuccess(collectionId, tokenId, alice, bob, 1, 'NFT');\n const aliceBalanceAfter = new bignumber_js_1.BigNumber((await api.query.system.account(accounts_1.alicesPublicKey)).data.free.toString());\n const fee = aliceBalanceBefore.minus(aliceBalanceAfter);\n // console.log(fee.toString());\n const expectedTransferFee = 0.1;\n const tolerance = 0.001;\n expect(fee.dividedBy(1e15).minus(expectedTransferFee).abs().toNumber()).to.be.lessThan(tolerance);\n});","err":{},"uuid":"959a2708-5f73-4e34-b23b-451db6b792cb","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["30283cd1-c50d-47fe-a990-3e1bbb81dc54","129ec89e-7233-46b1-9406-e8f837ec7df7","93062bf3-a522-428b-922b-80684d2cc0a0","9f2156c7-beb1-40eb-84fb-754b080e4575","b771b916-77d8-4052-a811-a1080c925937","959a2708-5f73-4e34-b23b-451db6b792cb"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"690f02a6-5932-480d-bdad-909c7451a15d","title":"integration test: ext. destroyCollection():","fullFile":"/nft_parachain/tests/src/destroyCollection.test.ts","file":"/src/destroyCollection.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"NFT collection can be destroyed","fullTitle":"integration test: ext. destroyCollection(): NFT collection can be destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);","err":{},"uuid":"4180464f-22c6-4e68-a585-4c7dfe2f7fde","isHook":false,"skipped":true},{"title":"Fungible collection can be destroyed","fullTitle":"integration test: ext. destroyCollection(): Fungible collection can be destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);","err":{},"uuid":"2e938b8d-c64e-49e5-a704-3b3ad62f2fd8","isHook":false,"skipped":true},{"title":"ReFungible collection can be destroyed","fullTitle":"integration test: ext. destroyCollection(): ReFungible collection can be destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);","err":{},"uuid":"9297b7a6-20c5-49eb-bd2b-c09794ef5792","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["4180464f-22c6-4e68-a585-4c7dfe2f7fde","2e938b8d-c64e-49e5-a704-3b3ad62f2fd8","9297b7a6-20c5-49eb-bd2b-c09794ef5792"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"d09522f9-f6a3-479f-9398-a62427e9a352","title":"(!negative test!) integration test: ext. destroyCollection():","fullFile":"/nft_parachain/tests/src/destroyCollection.test.ts","file":"/src/destroyCollection.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"(!negative test!) integration test: ext. destroyCollection(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"029c7b06-9a11-473f-9597-d857bb51b47a","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"(!negative test!) Destroy a collection that never existed","fullTitle":"(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection that never existed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // Find the collection that never existed\n const collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n await helpers_1.destroyCollectionExpectFailure(collectionId);\n});","err":{},"uuid":"53dcbc2e-6a9b-46e6-8548-8a9713b3208c","isHook":false,"skipped":true},{"title":"(!negative test!) Destroy a collection that has already been destroyed","fullTitle":"(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection that has already been destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.destroyCollectionExpectFailure(collectionId);","err":{},"uuid":"c9193aa7-25a6-429d-878f-3150a9f87104","isHook":false,"skipped":true},{"title":"(!negative test!) Destroy a collection using non-owner account","fullTitle":"(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection using non-owner account","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectFailure(collectionId, '//Bob');\nawait helpers_1.destroyCollectionExpectSuccess(collectionId, '//Alice');","err":{},"uuid":"470c05d3-d36a-4638-a972-45af56d80408","isHook":false,"skipped":true},{"title":"(!negative test!) Destroy a collection using collection admin account","fullTitle":"(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection using collection admin account","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.destroyCollectionExpectFailure(collectionId, '//Bob');","err":{},"uuid":"d1ef4c9e-3e82-4c0d-a7a1-c4f210d1ab74","isHook":false,"skipped":true},{"title":"fails when OwnerCanDestroy == false","fullTitle":"(!negative test!) integration test: ext. destroyCollection(): fails when OwnerCanDestroy == false","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, { OwnerCanDestroy: false });\nawait helpers_1.destroyCollectionExpectFailure(collectionId, '//Alice');","err":{},"uuid":"903a5aa7-495c-40da-8140-c165911e13dd","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["53dcbc2e-6a9b-46e6-8548-8a9713b3208c","c9193aa7-25a6-429d-878f-3150a9f87104","470c05d3-d36a-4638-a972-45af56d80408","d1ef4c9e-3e82-4c0d-a7a1-c4f210d1ab74","903a5aa7-495c-40da-8140-c165911e13dd"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"b82eb7b3-f4de-4127-b330-42ebda6df15a","title":"Integration Test enableContractSponsoring","fullFile":"/nft_parachain/tests/src/enableContractSponsoring.test.ts","file":"/src/enableContractSponsoring.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"ensure tx fee is paid from endowment","fullTitle":"Integration Test enableContractSponsoring ensure tx fee is paid from endowment","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"0ae636f0-531e-47d5-a219-33329a247bef","isHook":false,"skipped":false},{"title":"ensure it can be enabled twice","fullTitle":"Integration Test enableContractSponsoring ensure it can be enabled twice","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"810ed4cb-bb60-4225-aecd-8b6f089a5469","isHook":false,"skipped":false},{"title":"ensure it can be disabled twice","fullTitle":"Integration Test enableContractSponsoring ensure it can be disabled twice","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"133f6180-6c1c-4a81-a037-2bbc883f6c0e","isHook":false,"skipped":false},{"title":"ensure it can be re-enabled","fullTitle":"Integration Test enableContractSponsoring ensure it can be re-enabled","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"7436de7a-9afc-4b17-b1d5-83d81324757e","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["0ae636f0-531e-47d5-a219-33329a247bef","810ed4cb-bb60-4225-aecd-8b6f089a5469","133f6180-6c1c-4a81-a037-2bbc883f6c0e","7436de7a-9afc-4b17-b1d5-83d81324757e"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"0ea1b6f0-3109-4184-92a0-58b87521268a","title":"Negative Integration Test enableContractSponsoring","fullFile":"/nft_parachain/tests/src/enableContractSponsoring.test.ts","file":"/src/enableContractSponsoring.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"fails when called for non-contract address","fullTitle":"Negative Integration Test enableContractSponsoring fails when called for non-contract address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"bb3cf798-d40c-4f39-8cdc-90775e1e3b89","isHook":false,"skipped":false},{"title":"fails when called by non-owning user","fullTitle":"Negative Integration Test enableContractSponsoring fails when called by non-owning user","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"09fe0e7e-13a1-4d61-a3ed-01016a39b5b6","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["bb3cf798-d40c-4f39-8cdc-90775e1e3b89","09fe0e7e-13a1-4d61-a3ed-01016a39b5b6"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"f9b63262-28cc-416a-b570-70da5d8f65f4","title":"Enable/Disable Transfers","fullFile":"/nft_parachain/tests/src/enableDisableTransfer.test.ts","file":"/src/enableDisableTransfer.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"User can transfer token with enabled transfer flag","fullTitle":"Enable/Disable Transfers User can transfer token with enabled transfer flag","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n // explicitely set transfer flag\n await helpers_1.setTransferFlagExpectSuccess(Alice, nftCollectionId, true);\n await helpers_1.transferExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 1);\n});","err":{},"uuid":"40955e62-05af-4179-be1d-5f281075f39c","isHook":false,"skipped":true},{"title":"User can'n transfer token with disabled transfer flag","fullTitle":"Enable/Disable Transfers User can'n transfer token with disabled transfer flag","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n // explicitely set transfer flag\n await helpers_1.setTransferFlagExpectSuccess(Alice, nftCollectionId, false);\n await helpers_1.transferExpectFailure(nftCollectionId, newNftTokenId, Alice, Bob, 1);\n});","err":{},"uuid":"9393b0ed-dc59-4b6b-9934-f48351b5cc36","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["40955e62-05af-4179-be1d-5f281075f39c","9393b0ed-dc59-4b6b-9934-f48351b5cc36"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"64ceb3ce-485a-4092-96b9-0918cbcbb806","title":"Negative Enable/Disable Transfers","fullFile":"/nft_parachain/tests/src/enableDisableTransfer.test.ts","file":"/src/enableDisableTransfer.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Non-owner cannot change transfer flag","fullTitle":"Negative Enable/Disable Transfers Non-owner cannot change transfer flag","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const Bob = privateKey_1.default('//Bob');\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n // Change transfer flag\n await helpers_1.setTransferFlagExpectFailure(Bob, nftCollectionId, false);\n});","err":{},"uuid":"5e8bf0a6-4130-427d-8aa0-a7e5de676d9c","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["5e8bf0a6-4130-427d-8aa0-a7e5de676d9c"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"166a2b99-feef-4313-a348-0c84514b7e19","title":"EVM allowlist","fullFile":"/nft_parachain/tests/src/eth/allowlist.test.ts","file":"/src/eth/allowlist.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Contract allowlist can be toggled","fullTitle":"EVM allowlist Contract allowlist can be toggled","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"8a2553da-4d76-4d01-a46b-0c7aeda8f17e","isHook":false,"skipped":true},{"title":"Non-whitelisted user can't call contract with allowlist enabled","fullTitle":"EVM allowlist Non-whitelisted user can't call contract with allowlist enabled","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"6bfb1246-7056-4272-95a5-16c071445167","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["8a2553da-4d76-4d01-a46b-0c7aeda8f17e","6bfb1246-7056-4272-95a5-16c071445167"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"1ef94075-5c71-4a69-8fee-0243a30ecf92","title":"Contract calls","fullFile":"/nft_parachain/tests/src/eth/base.test.ts","file":"/src/eth/base.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Call of simple contract fee is less than 0.2 UNQ","fullTitle":"Contract calls Call of simple contract fee is less than 0.2 UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"2e8f1e63-d243-4508-8c90-83fe6bebf0c8","isHook":false,"skipped":true},{"title":"Balance transfer fee is less than 0.2 UNQ","fullTitle":"Contract calls Balance transfer fee is less than 0.2 UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"a49dfe5b-78a8-4972-83c8-8f4838216a25","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["2e8f1e63-d243-4508-8c90-83fe6bebf0c8","a49dfe5b-78a8-4972-83c8-8f4838216a25"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"63ceb95a-b882-4cf6-a99a-aa5b4993076b","title":"Token transfer between substrate address and EVM address. Fungible","fullFile":"/nft_parachain/tests/src/eth/crossTransfer.test.ts","file":"/src/eth/crossTransfer.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate","fullTitle":"Token transfer between substrate address and EVM address. Fungible The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"016bdad3-72c1-4b25-a25f-fa786dd3c92d","isHook":false,"skipped":true},{"title":"The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM","fullTitle":"Token transfer between substrate address and EVM address. Fungible The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"dc9e2f55-1603-434e-8bdc-d3669c24e2e4","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["016bdad3-72c1-4b25-a25f-fa786dd3c92d","dc9e2f55-1603-434e-8bdc-d3669c24e2e4"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"3bcae81c-07ce-48a2-aa69-0d8c8e27c623","title":"Token transfer between substrate address and EVM address. NFT","fullFile":"/nft_parachain/tests/src/eth/crossTransfer.test.ts","file":"/src/eth/crossTransfer.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate","fullTitle":"Token transfer between substrate address and EVM address. NFT The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"687f48a8-d2de-4888-98c2-b23c2e116691","isHook":false,"skipped":true},{"title":"The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM","fullTitle":"Token transfer between substrate address and EVM address. NFT The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"e8feec8e-382f-487c-b76a-5acc10da9bce","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["687f48a8-d2de-4888-98c2-b23c2e116691","e8feec8e-382f-487c-b76a-5acc10da9bce"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"e28ed94d-9043-43ab-b3d3-bdada9894d84","title":"Fungible: Information getting","fullFile":"/nft_parachain/tests/src/eth/fungible.test.ts","file":"/src/eth/fungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"totalSupply","fullTitle":"Fungible: Information getting totalSupply","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"a426de65-2a4a-4b02-9c67-45d296bf7dc1","isHook":false,"skipped":true},{"title":"balanceOf","fullTitle":"Fungible: Information getting balanceOf","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"c1081390-abe4-4727-b086-68af2d8bd821","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a426de65-2a4a-4b02-9c67-45d296bf7dc1","c1081390-abe4-4727-b086-68af2d8bd821"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"38e5c06d-bbc9-4bae-bc0b-45b5475ebd53","title":"Fungible: Plain calls","fullFile":"/nft_parachain/tests/src/eth/fungible.test.ts","file":"/src/eth/fungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Can perform approve()","fullTitle":"Fungible: Plain calls Can perform approve()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"61154419-0a48-44b1-ae0f-4b3dd6e3a085","isHook":false,"skipped":true},{"title":"Can perform transferFrom()","fullTitle":"Fungible: Plain calls Can perform transferFrom()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"25aa7368-095b-4f36-849e-2940ca117fba","isHook":false,"skipped":true},{"title":"Can perform transfer()","fullTitle":"Fungible: Plain calls Can perform transfer()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"26bd4d69-70a0-41e3-9019-b1a9c61dd4db","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["61154419-0a48-44b1-ae0f-4b3dd6e3a085","25aa7368-095b-4f36-849e-2940ca117fba","26bd4d69-70a0-41e3-9019-b1a9c61dd4db"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"f64e15cb-ff19-483f-8370-1717a0e52137","title":"Fungible: Fees","fullFile":"/nft_parachain/tests/src/eth/fungible.test.ts","file":"/src/eth/fungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"approve() call fee is less than 0.2UNQ","fullTitle":"Fungible: Fees approve() call fee is less than 0.2UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"18ee49b0-8612-4674-9e66-8e0855b1bed7","isHook":false,"skipped":true},{"title":"transferFrom() call fee is less than 0.2UNQ","fullTitle":"Fungible: Fees transferFrom() call fee is less than 0.2UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"8604d5a4-bb0d-4ce7-b997-3bb941d2dadc","isHook":false,"skipped":true},{"title":"transfer() call fee is less than 0.2UNQ","fullTitle":"Fungible: Fees transfer() call fee is less than 0.2UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"3b472b88-09a8-499e-8ae3-0082a0fd2b7e","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["18ee49b0-8612-4674-9e66-8e0855b1bed7","8604d5a4-bb0d-4ce7-b997-3bb941d2dadc","3b472b88-09a8-499e-8ae3-0082a0fd2b7e"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"0bd2f0db-3ea7-4d52-b1bd-b39e365c4611","title":"Fungible: Substrate calls","fullFile":"/nft_parachain/tests/src/eth/fungible.test.ts","file":"/src/eth/fungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Events emitted for approve()","fullTitle":"Fungible: Substrate calls Events emitted for approve()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"aa6f7c90-68ff-4b90-85cf-a35adfd5df6c","isHook":false,"skipped":true},{"title":"Events emitted for transferFrom()","fullTitle":"Fungible: Substrate calls Events emitted for transferFrom()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"cf7b96d6-e4e1-4233-9d7b-4a072c9c200d","isHook":false,"skipped":true},{"title":"Events emitted for transfer()","fullTitle":"Fungible: Substrate calls Events emitted for transfer()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"2bba3c20-33bd-4365-bce6-a415c26f86b3","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["aa6f7c90-68ff-4b90-85cf-a35adfd5df6c","cf7b96d6-e4e1-4233-9d7b-4a072c9c200d","2bba3c20-33bd-4365-bce6-a415c26f86b3"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"ba3b6c83-0f9f-4fb8-8ad4-d53ef53312f7","title":"Helpers sanity check","fullFile":"/nft_parachain/tests/src/eth/helpersSmoke.test.ts","file":"/src/eth/helpersSmoke.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Contract owner is recorded","fullTitle":"Helpers sanity check Contract owner is recorded","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"051817e6-7916-4f3b-8f07-53399cadceb9","isHook":false,"skipped":true},{"title":"Flipper is working","fullTitle":"Helpers sanity check Flipper is working","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"ed6828c4-1e4d-4019-a9ab-09908d92a125","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["051817e6-7916-4f3b-8f07-53399cadceb9","ed6828c4-1e4d-4019-a9ab-09908d92a125"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"f55a84b3-636b-41ab-a5b4-bc3c2a5b18d0","title":"Matcher contract usage","fullFile":"/nft_parachain/tests/src/eth/marketplace/marketplace.test.ts","file":"/src/eth/marketplace/marketplace.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"With UNQ","fullTitle":"Matcher contract usage With UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"2f01ebb5-2705-439a-9540-390408e547c0","isHook":false,"skipped":true},{"title":"With custom ERC20","fullTitle":"Matcher contract usage With custom ERC20","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"ccf9e063-ac4a-4c78-a9ed-13deb1d5e2ae","isHook":false,"skipped":true},{"title":"With escrow","fullTitle":"Matcher contract usage With escrow","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"2ad4094c-5a03-4f59-8140-a973b6f16e87","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["2f01ebb5-2705-439a-9540-390408e547c0","ccf9e063-ac4a-4c78-a9ed-13deb1d5e2ae","2ad4094c-5a03-4f59-8140-a973b6f16e87"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"9c8dfde9-8dc0-4258-95ec-998c0cbd658b","title":"Common metadata","fullFile":"/nft_parachain/tests/src/eth/metadata.test.ts","file":"/src/eth/metadata.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Returns collection name","fullTitle":"Common metadata Returns collection name","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"6388af9f-2efe-42ba-bfd7-cd29fabd8af9","isHook":false,"skipped":true},{"title":"Returns symbol name","fullTitle":"Common metadata Returns symbol name","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"698a3dfb-824b-4e20-99fa-9ff4a01cc206","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["6388af9f-2efe-42ba-bfd7-cd29fabd8af9","698a3dfb-824b-4e20-99fa-9ff4a01cc206"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"621af845-f162-42a3-b591-dfba99fe7e04","title":"Fungible metadata","fullFile":"/nft_parachain/tests/src/eth/metadata.test.ts","file":"/src/eth/metadata.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Returns fungible decimals","fullTitle":"Fungible metadata Returns fungible decimals","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"f09618db-1592-4fb9-acf1-b71ecf10b3d1","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["f09618db-1592-4fb9-acf1-b71ecf10b3d1"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5e6c13ef-795c-416a-9c78-ead6a32d3b7d","title":"EVM Migrations","fullFile":"/nft_parachain/tests/src/eth/migration.test.ts","file":"/src/eth/migration.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Deploy contract saved state","fullTitle":"EVM Migrations Deploy contract saved state","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"a5a57dce-aec7-43f8-a4fb-8b7f28c8b098","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a5a57dce-aec7-43f8-a4fb-8b7f28c8b098"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"29c89e20-ce3a-4cc7-b5ce-cf92a2f775c7","title":"NFT: Information getting","fullFile":"/nft_parachain/tests/src/eth/nonFungible.test.ts","file":"/src/eth/nonFungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"totalSupply","fullTitle":"NFT: Information getting totalSupply","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"1a7693a8-a035-43a6-ada3-9789e96b8afc","isHook":false,"skipped":true},{"title":"balanceOf","fullTitle":"NFT: Information getting balanceOf","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"5ed76965-d2ea-4fcb-aca5-b2d941118ca4","isHook":false,"skipped":true},{"title":"ownerOf","fullTitle":"NFT: Information getting ownerOf","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"67ee6485-e697-42c9-a3eb-304af1ac2530","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["1a7693a8-a035-43a6-ada3-9789e96b8afc","5ed76965-d2ea-4fcb-aca5-b2d941118ca4","67ee6485-e697-42c9-a3eb-304af1ac2530"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"dd3c3df9-87e7-4de4-9a10-86603947cd0a","title":"NFT: Plain calls","fullFile":"/nft_parachain/tests/src/eth/nonFungible.test.ts","file":"/src/eth/nonFungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Can perform mint()","fullTitle":"NFT: Plain calls Can perform mint()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"17886293-1b92-4e5e-8e87-b877c04eb0d7","isHook":false,"skipped":true},{"title":"Can perform burn()","fullTitle":"NFT: Plain calls Can perform burn()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"777af62f-e701-4586-8b91-3136588eedc3","isHook":false,"skipped":true},{"title":"Can perform approve()","fullTitle":"NFT: Plain calls Can perform approve()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"87cca972-d2fe-46d3-b8d9-78f13f0eeb56","isHook":false,"skipped":true},{"title":"Can perform transferFrom()","fullTitle":"NFT: Plain calls Can perform transferFrom()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"bd6c2bd1-cf7d-417c-8d97-29bb263bd52f","isHook":false,"skipped":true},{"title":"Can perform transfer()","fullTitle":"NFT: Plain calls Can perform transfer()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"9a9d9fce-0eae-4350-bb31-7bd5cddfa379","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["17886293-1b92-4e5e-8e87-b877c04eb0d7","777af62f-e701-4586-8b91-3136588eedc3","87cca972-d2fe-46d3-b8d9-78f13f0eeb56","bd6c2bd1-cf7d-417c-8d97-29bb263bd52f","9a9d9fce-0eae-4350-bb31-7bd5cddfa379"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"2c5ec398-8026-4f53-a652-031d46ae1b99","title":"NFT: Fees","fullFile":"/nft_parachain/tests/src/eth/nonFungible.test.ts","file":"/src/eth/nonFungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"approve() call fee is less than 0.2UNQ","fullTitle":"NFT: Fees approve() call fee is less than 0.2UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"2a278075-6373-464b-9c11-b9ad67ec0c4a","isHook":false,"skipped":true},{"title":"transferFrom() call fee is less than 0.2UNQ","fullTitle":"NFT: Fees transferFrom() call fee is less than 0.2UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"f5bdbf22-f3c5-4ed3-8b3b-0b8f888a4658","isHook":false,"skipped":true},{"title":"transfer() call fee is less than 0.2UNQ","fullTitle":"NFT: Fees transfer() call fee is less than 0.2UNQ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"69da8472-8f02-4763-9ff6-9c2e60bbd4d9","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["2a278075-6373-464b-9c11-b9ad67ec0c4a","f5bdbf22-f3c5-4ed3-8b3b-0b8f888a4658","69da8472-8f02-4763-9ff6-9c2e60bbd4d9"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"be5044de-17be-4f4f-9c43-8a5c1139142e","title":"NFT: Substrate calls","fullFile":"/nft_parachain/tests/src/eth/nonFungible.test.ts","file":"/src/eth/nonFungible.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Events emitted for mint()","fullTitle":"NFT: Substrate calls Events emitted for mint()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"2bb08a8e-2873-4619-83bb-f39af6239a09","isHook":false,"skipped":true},{"title":"Events emitted for burn()","fullTitle":"NFT: Substrate calls Events emitted for burn()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"d49f6eb8-d101-48fc-a414-491137650956","isHook":false,"skipped":true},{"title":"Events emitted for approve()","fullTitle":"NFT: Substrate calls Events emitted for approve()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"57983457-a928-4a13-bb30-4802081a6197","isHook":false,"skipped":true},{"title":"Events emitted for transferFrom()","fullTitle":"NFT: Substrate calls Events emitted for transferFrom()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"ddab55e4-95e4-4e59-9b16-ac782e667252","isHook":false,"skipped":true},{"title":"Events emitted for transfer()","fullTitle":"NFT: Substrate calls Events emitted for transfer()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"14b7b792-d571-4ac5-92a0-c3803e8ffcf7","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["2bb08a8e-2873-4619-83bb-f39af6239a09","d49f6eb8-d101-48fc-a414-491137650956","57983457-a928-4a13-bb30-4802081a6197","ddab55e4-95e4-4e59-9b16-ac782e667252","14b7b792-d571-4ac5-92a0-c3803e8ffcf7"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"39e4e2ce-c9de-4260-a74f-8585fafecf1a","title":"EVM payable contracts","fullFile":"/nft_parachain/tests/src/eth/payable.test.ts","file":"/src/eth/payable.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Evm contract can receive wei from eth account","fullTitle":"EVM payable contracts Evm contract can receive wei from eth account","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"822d164c-5ac7-440a-8e76-c165898af1af","isHook":false,"skipped":true},{"title":"Evm contract can receive wei from substrate account","fullTitle":"EVM payable contracts Evm contract can receive wei from substrate account","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"e6b31921-975a-42c4-9675-bcab97445089","isHook":false,"skipped":true},{"title":"Wei sent directly to backing storage of evm contract balance is unaccounted","fullTitle":"EVM payable contracts Wei sent directly to backing storage of evm contract balance is unaccounted","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"6b49958a-fd26-40d3-a188-202fe5e5904a","isHook":false,"skipped":true},{"title":"Balance can be retrieved from evm contract","fullTitle":"EVM payable contracts Balance can be retrieved from evm contract","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"1fe5e42d-f3cb-46fd-ad4e-0c1e4525fa4f","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["822d164c-5ac7-440a-8e76-c165898af1af","e6b31921-975a-42c4-9675-bcab97445089","6b49958a-fd26-40d3-a188-202fe5e5904a","1fe5e42d-f3cb-46fd-ad4e-0c1e4525fa4f"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"d7123b77-e85e-4f5c-835e-25fb7ea0995c","title":"Fungible (Via EVM proxy): Information getting","fullFile":"/nft_parachain/tests/src/eth/proxy/fungibleProxy.test.ts","file":"/src/eth/proxy/fungibleProxy.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"totalSupply","fullTitle":"Fungible (Via EVM proxy): Information getting totalSupply","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"44d2365a-a35d-44cc-8cc0-8494474b9d2f","isHook":false,"skipped":true},{"title":"balanceOf","fullTitle":"Fungible (Via EVM proxy): Information getting balanceOf","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"9c9cc56c-a6ab-4f3d-8928-b6a7dac1bef2","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["44d2365a-a35d-44cc-8cc0-8494474b9d2f","9c9cc56c-a6ab-4f3d-8928-b6a7dac1bef2"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"3d993567-a5f6-41b4-a454-426b2b0ba806","title":"Fungible (Via EVM proxy): Plain calls","fullFile":"/nft_parachain/tests/src/eth/proxy/fungibleProxy.test.ts","file":"/src/eth/proxy/fungibleProxy.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Can perform approve()","fullTitle":"Fungible (Via EVM proxy): Plain calls Can perform approve()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"85c01938-eb19-409f-9343-c89d4b128af5","isHook":false,"skipped":true},{"title":"Can perform transferFrom()","fullTitle":"Fungible (Via EVM proxy): Plain calls Can perform transferFrom()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"978c10ed-0dcb-412f-b6a0-0e85366de9b1","isHook":false,"skipped":true},{"title":"Can perform transfer()","fullTitle":"Fungible (Via EVM proxy): Plain calls Can perform transfer()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"3d203895-5663-4b95-b831-4d497ece8a12","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["85c01938-eb19-409f-9343-c89d4b128af5","978c10ed-0dcb-412f-b6a0-0e85366de9b1","3d203895-5663-4b95-b831-4d497ece8a12"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"a1237654-d12a-476d-a746-7e1caf639542","title":"NFT (Via EVM proxy): Information getting","fullFile":"/nft_parachain/tests/src/eth/proxy/nonFungibleProxy.test.ts","file":"/src/eth/proxy/nonFungibleProxy.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"totalSupply","fullTitle":"NFT (Via EVM proxy): Information getting totalSupply","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"3e71410e-4799-4d58-95bc-6ea860550b52","isHook":false,"skipped":true},{"title":"balanceOf","fullTitle":"NFT (Via EVM proxy): Information getting balanceOf","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"28d140d6-9e3f-4b98-92fa-f8fa23158060","isHook":false,"skipped":true},{"title":"ownerOf","fullTitle":"NFT (Via EVM proxy): Information getting ownerOf","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"159d2f85-802f-4728-b7f3-ed156ce034f3","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["3e71410e-4799-4d58-95bc-6ea860550b52","28d140d6-9e3f-4b98-92fa-f8fa23158060","159d2f85-802f-4728-b7f3-ed156ce034f3"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"6024151e-59e4-4403-bbbb-578984a48786","title":"NFT (Via EVM proxy): Plain calls","fullFile":"/nft_parachain/tests/src/eth/proxy/nonFungibleProxy.test.ts","file":"/src/eth/proxy/nonFungibleProxy.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Can perform mint()","fullTitle":"NFT (Via EVM proxy): Plain calls Can perform mint()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"b19fe432-9e66-4d0b-95d3-71c8da071695","isHook":false,"skipped":true},{"title":"Can perform burn()","fullTitle":"NFT (Via EVM proxy): Plain calls Can perform burn()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"d9075a45-8e4b-4b0a-859f-7062a3bbfb08","isHook":false,"skipped":true},{"title":"Can perform approve()","fullTitle":"NFT (Via EVM proxy): Plain calls Can perform approve()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"1e441b49-2c31-4352-8737-99d9fd0a53ce","isHook":false,"skipped":true},{"title":"Can perform transferFrom()","fullTitle":"NFT (Via EVM proxy): Plain calls Can perform transferFrom()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"caa9e0f6-b5f8-4765-9a78-5a57314a93d4","isHook":false,"skipped":true},{"title":"Can perform transfer()","fullTitle":"NFT (Via EVM proxy): Plain calls Can perform transfer()","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"9c70266f-3630-4867-bd98-99f85f3ad367","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["b19fe432-9e66-4d0b-95d3-71c8da071695","d9075a45-8e4b-4b0a-859f-7062a3bbfb08","1e441b49-2c31-4352-8737-99d9fd0a53ce","caa9e0f6-b5f8-4765-9a78-5a57314a93d4","9c70266f-3630-4867-bd98-99f85f3ad367"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"a6b7f868-6106-44c7-94bd-a23435c69ce8","title":"EVM sponsoring","fullFile":"/nft_parachain/tests/src/eth/sponsoring.test.ts","file":"/src/eth/sponsoring.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Fee is deducted from contract if sponsoring is enabled","fullTitle":"EVM sponsoring Fee is deducted from contract if sponsoring is enabled","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"e7d2b28d-add7-48b9-bb49-0f6e3de0e911","isHook":false,"skipped":true},{"title":"...but this doesn't applies to payable value","fullTitle":"EVM sponsoring ...but this doesn't applies to payable value","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});","err":{},"uuid":"3b4ee7bd-ce13-4061-bb00-b42c12a56a51","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["e7d2b28d-add7-48b9-bb49-0f6e3de0e911","3b4ee7bd-ce13-4061-bb00-b42c12a56a51"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"3a782123-a540-4917-97ca-acaa03e2ec44","title":"integration test: Inflation","fullFile":"/nft_parachain/tests/src/inflation.test.ts","file":"/src/inflation.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"First year inflation is 10%","fullTitle":"integration test: Inflation First year inflation is 10%","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const blockInterval = parseInt((await api.consts.inflation.inflationBlockInterval).toString());\n const totalIssuanceStart = new bignumber_js_1.BigNumber((await api.query.inflation.startingYearTotalIssuance()).toString());\n const blockInflation = new bignumber_js_1.BigNumber((await api.query.inflation.blockInflation()).toString());\n const YEAR = 5259600; // Blocks in one year\n const totalExpectedInflation = totalIssuanceStart.multipliedBy(0.1);\n const totalActualInflation = blockInflation.multipliedBy(YEAR / blockInterval);\n const tolerance = 0.00001; // Relative difference per year between theoretical and actual inflation\n expect(totalExpectedInflation.dividedBy(totalActualInflation).minus(1).abs().toNumber()).to.be.lessThan(tolerance);\n});","err":{},"uuid":"4bb3a25e-9223-42c1-b99a-b78e248ac864","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["4bb3a25e-9223-42c1-b99a-b78e248ac864"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"3cb447bc-3795-43d4-ba76-9e96f7c10164","title":"Integration Test fungible overflows","fullFile":"/nft_parachain/tests/src/overflow.test.ts","file":"/src/overflow.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test fungible overflows \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"87cb3cb2-344b-41dc-ab4e-43a13a6f956a","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"fails when overflows on transfer","fullTitle":"Integration Test fungible overflows fails when overflows on transfer","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.createFungibleItemExpectSuccess(alice, fungibleCollectionId, { Value: helpers_1.U128_MAX });\nawait helpers_1.transferExpectSuccess(fungibleCollectionId, 0, alice, bob, helpers_1.U128_MAX, 'Fungible');\nawait helpers_1.createFungibleItemExpectSuccess(alice, fungibleCollectionId, { Value: 1n });\nawait helpers_1.transferExpectFailure(fungibleCollectionId, 0, alice, bob, 1);\nexpect(await helpers_1.getFungibleBalance(fungibleCollectionId, alice.address)).to.equal(1n);\nexpect(await helpers_1.getFungibleBalance(fungibleCollectionId, bob.address)).to.equal(helpers_1.U128_MAX);","err":{},"uuid":"494b4340-c214-43e1-9a60-bf5ed837b911","isHook":false,"skipped":true},{"title":"fails on allowance overflow","fullTitle":"Integration Test fungible overflows fails on allowance overflow","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.createFungibleItemExpectSuccess(alice, fungibleCollectionId, { Value: helpers_1.U128_MAX });\nawait helpers_1.approveExpectSuccess(fungibleCollectionId, 0, alice, bob, helpers_1.U128_MAX);\nawait helpers_1.approveExpectFail(fungibleCollectionId, 0, alice, bob, helpers_1.U128_MAX);","err":{},"uuid":"576bd335-6c12-4c4b-8330-3df79feaebab","isHook":false,"skipped":true},{"title":"fails when overflows on transferFrom","fullTitle":"Integration Test fungible overflows fails when overflows on transferFrom","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.createFungibleItemExpectSuccess(alice, fungibleCollectionId, { Value: helpers_1.U128_MAX });\nawait helpers_1.approveExpectSuccess(fungibleCollectionId, 0, alice, bob, helpers_1.U128_MAX);\nawait helpers_1.transferFromExpectSuccess(fungibleCollectionId, 0, bob, alice, charlie, helpers_1.U128_MAX, 'Fungible');\nexpect(await helpers_1.getFungibleBalance(fungibleCollectionId, charlie.address)).to.equal(helpers_1.U128_MAX);\nexpect((await helpers_1.getAllowance(fungibleCollectionId, 0, alice.address, bob.address)).toString()).to.equal('0');\nawait helpers_1.createFungibleItemExpectSuccess(alice, fungibleCollectionId, { Value: helpers_1.U128_MAX });\nawait helpers_1.approveExpectSuccess(fungibleCollectionId, 0, alice, bob, 1n);\nawait helpers_1.transferFromExpectFail(fungibleCollectionId, 0, bob, alice, charlie, 1);\nexpect(await helpers_1.getFungibleBalance(fungibleCollectionId, charlie.address)).to.equal(helpers_1.U128_MAX);\nexpect((await helpers_1.getAllowance(fungibleCollectionId, 0, alice.address, bob.address)).toString()).to.equal('1');","err":{},"uuid":"a384b326-375e-4c27-96d7-ebb95b0f2952","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["494b4340-c214-43e1-9a60-bf5ed837b911","576bd335-6c12-4c4b-8330-3df79feaebab","a384b326-375e-4c27-96d7-ebb95b0f2952"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"eb63d35a-61f0-4f4b-97a3-3d752c0ed6ff","title":"Pallet presence","fullFile":"/nft_parachain/tests/src/pallet-presence.test.ts","file":"/src/pallet-presence.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Required pallets are present","fullTitle":"Pallet presence Required pallets are present","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n for (let i = 0; i < requiredPallets.length; i++) {\n chai_1.expect(getModuleNames(api)).to.include(requiredPallets[i]);\n }\n});","err":{},"uuid":"ef7906da-de02-4c50-a4b9-2afeba4cff54","isHook":false,"skipped":true},{"title":"Governance and consensus pallets are present","fullTitle":"Pallet presence Governance and consensus pallets are present","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n for (let i = 0; i < consensusPallets.length; i++) {\n chai_1.expect(getModuleNames(api)).to.include(consensusPallets[i]);\n }\n});","err":{},"uuid":"cdc09d05-ff48-4fa1-9afa-5a868164a7d3","isHook":false,"skipped":true},{"title":"No extra pallets are included","fullTitle":"Pallet presence No extra pallets are included","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n chai_1.expect(getModuleNames(api).sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());\n});","err":{},"uuid":"3e3cc583-e342-44b9-a5c3-7a9101d48118","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["ef7906da-de02-4c50-a4b9-2afeba4cff54","cdc09d05-ff48-4fa1-9afa-5a868164a7d3","3e3cc583-e342-44b9-a5c3-7a9101d48118"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"dc732f9f-225a-4ac1-b53c-d6d723388d72","title":"Integration Test removeCollectionAdmin(collection_id, account_id):","fullFile":"/nft_parachain/tests/src/removeCollectionAdmin.test.ts","file":"/src/removeCollectionAdmin.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Remove collection admin.","fullTitle":"Integration Test removeCollectionAdmin(collection_id, account_id): Remove collection admin.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.deep.eq(Alice.address);\n // first - add collection admin Bob\n const addAdminTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await substrate_api_1.submitTransactionAsync(Alice, addAdminTx);\n const adminListAfterAddAdmin = (await api.query.nft.adminList(collectionId)).toJSON();\n expect(adminListAfterAddAdmin).to.be.deep.contains(helpers_1.normalizeAccountId(Bob.address));\n // then remove bob from admins of collection\n const removeAdminTx = api.tx.nft.removeCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await substrate_api_1.submitTransactionAsync(Alice, removeAdminTx);\n const adminListAfterRemoveAdmin = (await api.query.nft.adminList(collectionId)).toJSON;\n expect(adminListAfterRemoveAdmin).not.to.be.deep.contains(helpers_1.normalizeAccountId(Bob.address));\n});","err":{},"uuid":"1e89bb51-7d8b-4059-8bec-06511701d088","isHook":false,"skipped":true},{"title":"Remove collection admin by admin.","fullTitle":"Integration Test removeCollectionAdmin(collection_id, account_id): Remove collection admin by admin.","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n const Charlie = privateKey_1.default('//Charlie');\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.deep.eq(Alice.address);\n // first - add collection admin Bob\n const addAdminTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await substrate_api_1.submitTransactionAsync(Alice, addAdminTx);\n const addAdminTx2 = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Charlie.address));\n await substrate_api_1.submitTransactionAsync(Alice, addAdminTx2);\n const adminListAfterAddAdmin = (await api.query.nft.adminList(collectionId)).toJSON();\n expect(adminListAfterAddAdmin).to.be.deep.contains(helpers_1.normalizeAccountId(Bob.address));\n // then remove bob from admins of collection\n const removeAdminTx = api.tx.nft.removeCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await substrate_api_1.submitTransactionAsync(Charlie, removeAdminTx);\n const adminListAfterRemoveAdmin = (await api.query.nft.adminList(collectionId)).toJSON;\n expect(adminListAfterRemoveAdmin).not.to.be.deep.contains(helpers_1.normalizeAccountId(Bob.address));\n});","err":{},"uuid":"aa6bb14d-7b07-4c11-8f63-f19f34678e0d","isHook":false,"skipped":true},{"title":"Remove admin from collection that has no admins","fullTitle":"Integration Test removeCollectionAdmin(collection_id, account_id): Remove admin from collection that has no admins","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const Alice = privateKey_1.default('//Alice');\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const adminListBeforeAddAdmin = (await api.query.nft.adminList(collectionId));\n expect(adminListBeforeAddAdmin).to.have.lengthOf(0);\n const tx = api.tx.nft.removeCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Alice.address));\n await substrate_api_1.submitTransactionAsync(Alice, tx);\n});","err":{},"uuid":"19946d54-de8a-4a6b-95bd-05d67da4992a","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["1e89bb51-7d8b-4059-8bec-06511701d088","aa6bb14d-7b07-4c11-8f63-f19f34678e0d","19946d54-de8a-4a6b-95bd-05d67da4992a"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"55dcf9fb-d81f-497c-8e8f-362fe16e8d9b","title":"Negative Integration Test removeCollectionAdmin(collection_id, account_id):","fullFile":"/nft_parachain/tests/src/removeCollectionAdmin.test.ts","file":"/src/removeCollectionAdmin.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Can't remove collection admin from not existing collection","fullTitle":"Negative Integration Test removeCollectionAdmin(collection_id, account_id): Can't remove collection admin from not existing collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: no-bitwise\n const collectionId = (1 << 32) - 1;\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const changeOwnerTx = api.tx.nft.removeCollectionAdmin(collectionId, helpers_1.normalizeAccountId(bob.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, changeOwnerTx)).to.be.rejected;\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"cb3c0197-2eda-459f-98f2-fb24f0c8682a","isHook":false,"skipped":true},{"title":"Can't remove collection admin from deleted collection","fullTitle":"Negative Integration Test removeCollectionAdmin(collection_id, account_id): Can't remove collection admin from deleted collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: no-bitwise\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n const changeOwnerTx = api.tx.nft.removeCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, changeOwnerTx)).to.be.rejected;\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"10428424-2150-4a02-a617-0b21f301e690","isHook":false,"skipped":true},{"title":"Regular user Can't remove collection admin","fullTitle":"Negative Integration Test removeCollectionAdmin(collection_id, account_id): Regular user Can't remove collection admin","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n const Charlie = privateKey_1.default('//Charlie');\n const addAdminTx = api.tx.nft.addCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await substrate_api_1.submitTransactionAsync(Alice, addAdminTx);\n const changeOwnerTx = api.tx.nft.removeCollectionAdmin(collectionId, helpers_1.normalizeAccountId(Bob.address));\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Charlie, changeOwnerTx)).to.be.rejected;\n // Verifying that nothing bad happened (network is live, new collections can be created, etc.)\n await helpers_1.createCollectionExpectSuccess();\n});","err":{},"uuid":"f4f77126-8ff7-41fa-8b6a-0136f721d9b6","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["cb3c0197-2eda-459f-98f2-fb24f0c8682a","10428424-2150-4a02-a617-0b21f301e690","f4f77126-8ff7-41fa-8b6a-0136f721d9b6"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"4964745b-c07c-469a-bd86-3aabe116e79c","title":"integration test: ext. removeCollectionSponsor():","fullFile":"/nft_parachain/tests/src/removeCollectionSponsor.test.ts","file":"/src/removeCollectionSponsor.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"integration test: ext. removeCollectionSponsor(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"073aa191-794a-43ea-afe9-eece5ca6ea5b","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Removing NFT collection sponsor stops sponsorship","fullTitle":"integration test: ext. removeCollectionSponsor(): Removing NFT collection sponsor stops sponsorship","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);\nawait substrate_api_1.default(async (api) => {\n // Find unused address\n const zeroBalance = await helpers_1.findUnusedAddress(api);\n // Mint token for unused address\n const itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT', zeroBalance.address);\n // Transfer this tokens from unused address to Alice - should fail\n const AsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n const zeroToAlice = api.tx.nft.transfer(helpers_1.normalizeAccountId(alice.address), collectionId, itemId, 0);\n const badTransaction = async function () {\n await substrate_api_1.submitTransactionExpectFailAsync(zeroBalance, zeroToAlice);\n };\n await expect(badTransaction()).to.be.rejectedWith('Inability to pay some fees');\n const BsponsorBalance = new bignumber_js_1.BigNumber((await api.query.system.account(bob.address)).data.free.toString());\n expect(BsponsorBalance.isEqualTo(AsponsorBalance)).to.be.true;\n});","err":{},"uuid":"7340d2b9-1efe-4571-adb6-2fc324d04587","isHook":false,"skipped":true},{"title":"Remove a sponsor after it was already removed","fullTitle":"integration test: ext. removeCollectionSponsor(): Remove a sponsor after it was already removed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);","err":{},"uuid":"989ef0aa-29ba-40e5-a468-77743d0450c7","isHook":false,"skipped":true},{"title":"Remove sponsor in a collection that never had the sponsor set","fullTitle":"integration test: ext. removeCollectionSponsor(): Remove sponsor in a collection that never had the sponsor set","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);","err":{},"uuid":"48c44c61-dfae-46bf-9862-a56e3377f5d3","isHook":false,"skipped":true},{"title":"Remove sponsor for a collection that had the sponsor set, but not confirmed","fullTitle":"integration test: ext. removeCollectionSponsor(): Remove sponsor for a collection that had the sponsor set, but not confirmed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);","err":{},"uuid":"79a34054-2bf6-453f-ab67-996b5a978801","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["7340d2b9-1efe-4571-adb6-2fc324d04587","989ef0aa-29ba-40e5-a468-77743d0450c7","48c44c61-dfae-46bf-9862-a56e3377f5d3","79a34054-2bf6-453f-ab67-996b5a978801"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"46267fd7-8042-4ac8-8efa-9e6b2a450d98","title":"(!negative test!) integration test: ext. removeCollectionSponsor():","fullFile":"/nft_parachain/tests/src/removeCollectionSponsor.test.ts","file":"/src/removeCollectionSponsor.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"(!negative test!) integration test: ext. removeCollectionSponsor(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"ed73243a-c3b3-47dc-accf-cfb8e03021ae","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"(!negative test!) Remove sponsor for a collection that never existed","fullTitle":"(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor for a collection that never existed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// Find the collection that never existed\nlet collectionId = 0;\nawait substrate_api_1.default(async (api) => {\n collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n});\nawait helpers_1.removeCollectionSponsorExpectFailure(collectionId);","err":{},"uuid":"e35932f4-4d42-4d65-8d46-7246df195d99","isHook":false,"skipped":true},{"title":"(!negative test!) Remove sponsor for a collection with collection admin permissions","fullTitle":"(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor for a collection with collection admin permissions","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.removeCollectionSponsorExpectFailure(collectionId, '//Bob');","err":{},"uuid":"85ae77c3-2b77-4f93-a49c-5b607907004e","isHook":false,"skipped":true},{"title":"(!negative test!) Remove sponsor for a collection by regular user","fullTitle":"(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor for a collection by regular user","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.removeCollectionSponsorExpectFailure(collectionId, '//Bob');","err":{},"uuid":"7aaae6ca-2617-469d-9192-6689adf16516","isHook":false,"skipped":true},{"title":"(!negative test!) Remove sponsor in a destroyed collection","fullTitle":"(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor in a destroyed collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.removeCollectionSponsorExpectFailure(collectionId);","err":{},"uuid":"9d7a6e72-16ef-4ce7-a2a3-adf9ab8682a6","isHook":false,"skipped":true},{"title":"Set - remove - confirm: fails","fullTitle":"(!negative test!) integration test: ext. removeCollectionSponsor(): Set - remove - confirm: fails","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Bob');","err":{},"uuid":"271077e2-6ea6-4690-a3a5-2194bb57a35c","isHook":false,"skipped":true},{"title":"Set - confirm - remove - confirm: Sponsor cannot come back","fullTitle":"(!negative test!) integration test: ext. removeCollectionSponsor(): Set - confirm - remove - confirm: Sponsor cannot come back","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Bob');","err":{},"uuid":"cce11642-dcd7-40f6-bfdb-b1da80351677","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["e35932f4-4d42-4d65-8d46-7246df195d99","85ae77c3-2b77-4f93-a49c-5b607907004e","7aaae6ca-2617-469d-9192-6689adf16516","9d7a6e72-16ef-4ce7-a2a3-adf9ab8682a6","271077e2-6ea6-4690-a3a5-2194bb57a35c","cce11642-dcd7-40f6-bfdb-b1da80351677"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"090e386e-3947-4ceb-b0e9-56c8c3508d7b","title":"Integration Test removeFromContractWhiteList","fullFile":"/nft_parachain/tests/src/removeFromContractWhiteList.test.ts","file":"/src/removeFromContractWhiteList.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"user is no longer whitelisted after removal","fullTitle":"Integration Test removeFromContractWhiteList user is no longer whitelisted after removal","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"30612bcc-b508-4b33-a278-2fe06ac300e1","isHook":false,"skipped":false},{"title":"user can't execute contract after removal","fullTitle":"Integration Test removeFromContractWhiteList user can't execute contract after removal","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"bbd33294-82f8-450b-b4cc-e40250a1abbc","isHook":false,"skipped":false},{"title":"can be called twice","fullTitle":"Integration Test removeFromContractWhiteList can be called twice","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"9b422317-c895-4d4d-84e2-d5fcb6691899","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["30612bcc-b508-4b33-a278-2fe06ac300e1","bbd33294-82f8-450b-b4cc-e40250a1abbc","9b422317-c895-4d4d-84e2-d5fcb6691899"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"d47d209d-7b8e-4624-9853-69ac8edb7cae","title":"Negative Integration Test removeFromContractWhiteList","fullFile":"/nft_parachain/tests/src/removeFromContractWhiteList.test.ts","file":"/src/removeFromContractWhiteList.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"fails when called with non-contract address","fullTitle":"Negative Integration Test removeFromContractWhiteList fails when called with non-contract address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"4f24edbc-cc11-419a-beda-b4f5523bbacc","isHook":false,"skipped":false},{"title":"fails when executed by non owner","fullTitle":"Negative Integration Test removeFromContractWhiteList fails when executed by non owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"bcbccafd-9285-4e64-9284-5f6db30eb825","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["4f24edbc-cc11-419a-beda-b4f5523bbacc","bcbccafd-9285-4e64-9284-5f6db30eb825"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5645c742-0df3-48e9-a87e-17c9b86fc529","title":"Integration Test removeFromWhiteList","fullFile":"/nft_parachain/tests/src/removeFromWhiteList.test.ts","file":"/src/removeFromWhiteList.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test removeFromWhiteList \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"58a47998-94fb-4f5a-b1de-b091d4eb3c89","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"ensure bob is not in whitelist after removal","fullTitle":"Integration Test removeFromWhiteList ensure bob is not in whitelist after removal","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionId, bob.address);\n await helpers_1.removeFromWhiteListExpectSuccess(alice, collectionId, helpers_1.normalizeAccountId(bob.address));\n expect(await helpers_1.isWhitelisted(collectionId, bob.address)).to.be.false;\n});","err":{},"uuid":"ce40679f-cb58-4efd-9fab-0c937dbb8a16","isHook":false,"skipped":true},{"title":"allows removal from collection with unset whitelist status","fullTitle":"Integration Test removeFromWhiteList allows removal from collection with unset whitelist status","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionWithoutWhitelistId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionWithoutWhitelistId);\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionWithoutWhitelistId, bob.address);\n await helpers_1.disableWhiteListExpectSuccess(alice, collectionWithoutWhitelistId);\n await helpers_1.removeFromWhiteListExpectSuccess(alice, collectionWithoutWhitelistId, helpers_1.normalizeAccountId(bob.address));\n});","err":{},"uuid":"dde05dbd-559a-45e3-9260-5830c90659ae","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["ce40679f-cb58-4efd-9fab-0c937dbb8a16","dde05dbd-559a-45e3-9260-5830c90659ae"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"19ce9466-ea0d-482a-ab0e-6cbdab561771","title":"Negative Integration Test removeFromWhiteList","fullFile":"/nft_parachain/tests/src/removeFromWhiteList.test.ts","file":"/src/removeFromWhiteList.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test removeFromWhiteList \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"1a924510-3952-46dd-aa5c-548cfa332fac","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"fails on removal from not existing collection","fullTitle":"Negative Integration Test removeFromWhiteList fails on removal from not existing collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.findNotExistingCollection(api);\n await helpers_1.removeFromWhiteListExpectFailure(alice, collectionId, helpers_1.normalizeAccountId(bob.address));\n});","err":{},"uuid":"3469734c-9e2c-4d43-beb3-f4b29eb1bd46","isHook":false,"skipped":true},{"title":"fails on removal from removed collection","fullTitle":"Negative Integration Test removeFromWhiteList fails on removal from removed collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionId, bob.address);\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n await helpers_1.removeFromWhiteListExpectFailure(alice, collectionId, helpers_1.normalizeAccountId(bob.address));\n});","err":{},"uuid":"bcbedd90-5b70-413f-84db-44643f560207","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["3469734c-9e2c-4d43-beb3-f4b29eb1bd46","bcbedd90-5b70-413f-84db-44643f560207"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"e52a884e-26af-4ea4-b808-af59702ee39c","title":"Integration Test removeFromWhiteList with collection admin permissions","fullFile":"/nft_parachain/tests/src/removeFromWhiteList.test.ts","file":"/src/removeFromWhiteList.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test removeFromWhiteList with collection admin permissions \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"a181856c-c084-4e13-aa7f-c1f70231fe00","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"ensure address is not in whitelist after removal","fullTitle":"Integration Test removeFromWhiteList with collection admin permissions ensure address is not in whitelist after removal","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\n await helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionId, charlie.address);\n await helpers_1.removeFromWhiteListExpectSuccess(bob, collectionId, helpers_1.normalizeAccountId(charlie.address));\n expect(await helpers_1.isWhitelisted(collectionId, charlie.address)).to.be.false;\n});","err":{},"uuid":"95ab897e-27d4-4d3f-a10b-3c2be388a913","isHook":false,"skipped":true},{"title":"Collection admin allowed to remove from whitelist with unset whitelist status","fullTitle":"Integration Test removeFromWhiteList with collection admin permissions Collection admin allowed to remove from whitelist with unset whitelist status","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionWithoutWhitelistId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionWithoutWhitelistId);\n await helpers_1.addCollectionAdminExpectSuccess(alice, collectionWithoutWhitelistId, bob);\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionWithoutWhitelistId, charlie.address);\n await helpers_1.disableWhiteListExpectSuccess(alice, collectionWithoutWhitelistId);\n await helpers_1.removeFromWhiteListExpectSuccess(bob, collectionWithoutWhitelistId, helpers_1.normalizeAccountId(charlie.address));\n});","err":{},"uuid":"65854ca8-cab8-4bec-bff4-8f2b22f904d0","isHook":false,"skipped":true},{"title":"Regular user can`t remove from whitelist","fullTitle":"Integration Test removeFromWhiteList with collection admin permissions Regular user can`t remove from whitelist","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionWithoutWhitelistId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionWithoutWhitelistId);\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionWithoutWhitelistId, charlie.address);\n await helpers_1.removeFromWhiteListExpectFailure(bob, collectionWithoutWhitelistId, helpers_1.normalizeAccountId(charlie.address));\n});","err":{},"uuid":"ea3232c6-dc6f-48f1-b0bf-16ff18789fcd","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["95ab897e-27d4-4d3f-a10b-3c2be388a913","65854ca8-cab8-4bec-bff4-8f2b22f904d0","ea3232c6-dc6f-48f1-b0bf-16ff18789fcd"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"d445ff02-9beb-4d72-a551-3cfcbe03f764","title":"Integration Test scheduler base transaction","fullFile":"/nft_parachain/tests/src/scheduler.test.ts","file":"/src/scheduler.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"User can transfer owned token with delay (scheduler)","fullTitle":"Integration Test scheduler base transaction User can transfer owned token with delay (scheduler)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n await helpers_1.setCollectionSponsorExpectSuccess(nftCollectionId, Alice.address);\n await helpers_1.confirmSponsorshipExpectSuccess(nftCollectionId);\n await helpers_1.scheduleTransferExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 1, 6000, 4);\n});","err":{},"uuid":"a7260324-2729-42a7-9a19-8587cc347edd","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a7260324-2729-42a7-9a19-8587cc347edd"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"31bca936-fc7a-4283-a857-2a6b853ab612","title":"Negative Integration Test setChainLimits","fullFile":"/nft_parachain/tests/src/setChainLimits.test.ts","file":"/src/setChainLimits.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test setChainLimits \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n dave = privateKey_1.default('//Dave');\n limits = {\n CollectionNumbersLimit: 1,\n AccountTokenOwnershipLimit: 1,\n CollectionsAdminsLimit: 1,\n CustomDataLimit: 1,\n NftSponsorTransferTimeout: 1,\n FungibleSponsorTransferTimeout: 1,\n RefungibleSponsorTransferTimeout: 1,\n OffchainSchemaLimit: 1,\n VariableOnChainSchemaLimit: 1,\n ConstOnChainSchemaLimit: 1,\n };\n});","err":{},"uuid":"d688f74a-285d-42bc-be8d-681e088bb48b","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Collection owner cannot set chain limits","fullTitle":"Negative Integration Test setChainLimits Collection owner cannot set chain limits","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.setChainLimitsExpectFailure(alice, limits);","err":{},"uuid":"4c3a77eb-6b88-43db-87be-aad42e534e5d","isHook":false,"skipped":true},{"title":"Collection admin cannot set chain limits","fullTitle":"Negative Integration Test setChainLimits Collection admin cannot set chain limits","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.setChainLimitsExpectFailure(bob, limits);","err":{},"uuid":"e10a746b-5eb2-46b4-83c1-73610192c10d","isHook":false,"skipped":true},{"title":"Regular user cannot set chain limits","fullTitle":"Negative Integration Test setChainLimits Regular user cannot set chain limits","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.setChainLimitsExpectFailure(dave, limits);","err":{},"uuid":"80a8e621-e260-4231-bd27-e4f4b15c1634","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["4c3a77eb-6b88-43db-87be-aad42e534e5d","e10a746b-5eb2-46b4-83c1-73610192c10d","80a8e621-e260-4231-bd27-e4f4b15c1634"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"864e8fd6-67ae-4a10-88ad-33850223b651","title":"setCollectionLimits positive","fullFile":"/nft_parachain/tests/src/setCollectionLimits.test.ts","file":"/src/setCollectionLimits.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"setCollectionLimits positive \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n collectionIdForTesting = await helpers_1.createCollectionExpectSuccess({ name: 'A', description: 'B', tokenPrefix: 'C', mode: { type: 'NFT' } });\n});","err":{},"uuid":"2cc67a48-a83e-49b2-9c6c-cce236dfc6ff","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setCollectionLimits with predefined params ","fullTitle":"setCollectionLimits positive execute setCollectionLimits with predefined params ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setCollectionLimits(collectionIdForTesting, {\n AccountTokenOwnershipLimit: accountTokenOwnershipLimit,\n SponsoredMintSize: sponsoredDataSize,\n TokenLimit: tokenLimit,\n SponsorTimeout: sponsorTimeout,\n OwnerCanTransfer: true,\n OwnerCanDestroy: true,\n });\n const events = await substrate_api_1.submitTransactionAsync(alice, tx);\n const result = helpers_1.getCreateItemResult(events);\n // get collection limits defined previously\n const collectionInfo = await helpers_1.getDetailedCollectionInfo(api, collectionIdForTesting);\n // tslint:disable-next-line:no-unused-expression\n expect(result.success).to.be.true;\n expect(collectionInfo.Limits.AccountTokenOwnershipLimit).to.be.equal(accountTokenOwnershipLimit);\n expect(collectionInfo.Limits.SponsoredDataSize).to.be.equal(sponsoredDataSize);\n expect(collectionInfo.Limits.TokenLimit).to.be.equal(tokenLimit);\n expect(collectionInfo.Limits.SponsorTimeout).to.be.equal(sponsorTimeout);\n expect(collectionInfo.Limits.OwnerCanTransfer).to.be.true;\n expect(collectionInfo.Limits.OwnerCanDestroy).to.be.true;\n});","err":{},"uuid":"d32d1982-da29-46d9-8d16-10523cd331b6","isHook":false,"skipped":true},{"title":"Set the same token limit twice","fullTitle":"setCollectionLimits positive Set the same token limit twice","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionLimits = {\n AccountTokenOwnershipLimit: accountTokenOwnershipLimit,\n SponsoredMintSize: sponsoredDataSize,\n TokenLimit: tokenLimit,\n SponsorTimeout: sponsorTimeout,\n OwnerCanTransfer: true,\n OwnerCanDestroy: true,\n };\n // The first time\n const tx1 = api.tx.nft.setCollectionLimits(collectionIdForTesting, collectionLimits);\n const events1 = await substrate_api_1.submitTransactionAsync(alice, tx1);\n const result1 = helpers_1.getCreateItemResult(events1);\n const collectionInfo1 = await helpers_1.getDetailedCollectionInfo(api, collectionIdForTesting);\n // The second time\n const tx2 = api.tx.nft.setCollectionLimits(collectionIdForTesting, collectionLimits);\n const events2 = await substrate_api_1.submitTransactionAsync(alice, tx2);\n const result2 = helpers_1.getCreateItemResult(events2);\n const collectionInfo2 = await helpers_1.getDetailedCollectionInfo(api, collectionIdForTesting);\n // tslint:disable-next-line:no-unused-expression\n expect(result1.success).to.be.true;\n expect(collectionInfo1.Limits.TokenLimit).to.be.equal(tokenLimit);\n expect(result2.success).to.be.true;\n expect(collectionInfo2.Limits.TokenLimit).to.be.equal(tokenLimit);\n});","err":{},"uuid":"6b883ae8-e9cc-436f-b66f-d589dee3774b","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["d32d1982-da29-46d9-8d16-10523cd331b6","6b883ae8-e9cc-436f-b66f-d589dee3774b"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"80730974-8aaf-4b53-837e-843c327f5f32","title":"setCollectionLimits negative","fullFile":"/nft_parachain/tests/src/setCollectionLimits.test.ts","file":"/src/setCollectionLimits.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"setCollectionLimits negative \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n collectionIdForTesting = await helpers_1.createCollectionExpectSuccess({ name: 'A', description: 'B', tokenPrefix: 'C', mode: { type: 'NFT' } });\n});","err":{},"uuid":"a19bd118-2c02-44a5-8352-4ba72d5b51ea","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setCollectionLimits for not exists collection","fullTitle":"setCollectionLimits negative execute setCollectionLimits for not exists collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionCount = await helpers_1.getCreatedCollectionCount(api);\n const nonExistedCollectionId = collectionCount + 1;\n tx = api.tx.nft.setCollectionLimits(nonExistedCollectionId, {\n accountTokenOwnershipLimit,\n sponsoredDataSize,\n sponsoredMintSize,\n tokenLimit,\n });\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, tx)).to.be.rejected;\n});","err":{},"uuid":"53dc0d8c-321e-4901-9157-3fd66bcc15ab","isHook":false,"skipped":true},{"title":"execute setCollectionLimits from user who is not owner of this collection","fullTitle":"setCollectionLimits negative execute setCollectionLimits from user who is not owner of this collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setCollectionLimits(collectionIdForTesting, {\n accountTokenOwnershipLimit,\n sponsoredDataSize,\n sponsoredMintSize,\n tokenLimit,\n });\n await expect(substrate_api_1.submitTransactionExpectFailAsync(bob, tx)).to.be.rejected;\n});","err":{},"uuid":"ddad0ec1-5004-45c0-b755-a8c833b3c744","isHook":false,"skipped":true},{"title":"execute setCollectionLimits from admin collection","fullTitle":"setCollectionLimits negative execute setCollectionLimits from admin collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.addCollectionAdminExpectSuccess(alice, collectionIdForTesting, bob);\nawait substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setCollectionLimits(collectionIdForTesting, {\n accountTokenOwnershipLimit,\n sponsoredDataSize,\n sponsoredMintSize,\n tokenLimit,\n });\n await expect(substrate_api_1.submitTransactionExpectFailAsync(bob, tx)).to.be.rejected;\n});","err":{},"uuid":"a62c80c1-5434-4801-9a9b-7a901d3a6e12","isHook":false,"skipped":true},{"title":"execute setCollectionLimits with incorrect limits","fullTitle":"setCollectionLimits negative execute setCollectionLimits with incorrect limits","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setCollectionLimits(collectionIdForTesting, {\n accountTokenOwnershipLimit: 'awdawd',\n sponsorTransferTimeout: 'awd',\n sponsoredDataSize: '12312312312312312',\n tokenLimit: '-100',\n });\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, tx)).to.be.rejected;\n});","err":{},"uuid":"d2e949e0-7f48-4d3c-a12d-8da0910c3ce3","isHook":false,"skipped":true},{"title":"fails when trying to enable OwnerCanTransfer after it was disabled","fullTitle":"setCollectionLimits negative fails when trying to enable OwnerCanTransfer after it was disabled","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, {\n AccountTokenOwnershipLimit: accountTokenOwnershipLimit,\n SponsoredMintSize: sponsoredDataSize,\n TokenLimit: tokenLimit,\n SponsorTimeout: sponsorTimeout,\n OwnerCanTransfer: false,\n OwnerCanDestroy: true,\n});\nawait helpers_1.setCollectionLimitsExpectFailure(alice, collectionId, {\n AccountTokenOwnershipLimit: accountTokenOwnershipLimit,\n SponsoredMintSize: sponsoredDataSize,\n TokenLimit: tokenLimit,\n SponsorTimeout: sponsorTimeout,\n OwnerCanTransfer: true,\n OwnerCanDestroy: true,\n});","err":{},"uuid":"9520e496-d043-44a3-bb82-d17eb2499334","isHook":false,"skipped":true},{"title":"fails when trying to enable OwnerCanDestroy after it was disabled","fullTitle":"setCollectionLimits negative fails when trying to enable OwnerCanDestroy after it was disabled","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, {\n AccountTokenOwnershipLimit: accountTokenOwnershipLimit,\n SponsoredMintSize: sponsoredDataSize,\n TokenLimit: tokenLimit,\n SponsorTimeout: sponsorTimeout,\n OwnerCanTransfer: true,\n OwnerCanDestroy: false,\n});\nawait helpers_1.setCollectionLimitsExpectFailure(alice, collectionId, {\n AccountTokenOwnershipLimit: accountTokenOwnershipLimit,\n SponsoredMintSize: sponsoredDataSize,\n TokenLimit: tokenLimit,\n SponsorTimeout: sponsorTimeout,\n OwnerCanTransfer: true,\n OwnerCanDestroy: true,\n});","err":{},"uuid":"cbfc2098-3360-4c35-b9a3-1f2459547199","isHook":false,"skipped":true},{"title":"Setting the higher token limit fails","fullTitle":"setCollectionLimits negative Setting the higher token limit fails","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const collectionLimits = {\n AccountTokenOwnershipLimit: accountTokenOwnershipLimit,\n SponsoredMintSize: sponsoredDataSize,\n TokenLimit: tokenLimit,\n SponsorTimeout: sponsorTimeout,\n OwnerCanTransfer: true,\n OwnerCanDestroy: true,\n };\n // The first time\n await helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, collectionLimits);\n // The second time - higher token limit\n collectionLimits.TokenLimit += 1;\n await helpers_1.setCollectionLimitsExpectFailure(alice, collectionId, collectionLimits);\n});","err":{},"uuid":"ac5ff0da-daa7-4509-b527-09cc176b1d40","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["53dc0d8c-321e-4901-9157-3fd66bcc15ab","ddad0ec1-5004-45c0-b755-a8c833b3c744","a62c80c1-5434-4801-9a9b-7a901d3a6e12","d2e949e0-7f48-4d3c-a12d-8da0910c3ce3","9520e496-d043-44a3-bb82-d17eb2499334","cbfc2098-3360-4c35-b9a3-1f2459547199","ac5ff0da-daa7-4509-b527-09cc176b1d40"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"0ec248e7-8ae8-4211-8c0e-048f7bc90578","title":"integration test: ext. setCollectionSponsor():","fullFile":"/nft_parachain/tests/src/setCollectionSponsor.test.ts","file":"/src/setCollectionSponsor.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"integration test: ext. setCollectionSponsor(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n});","err":{},"uuid":"2efa7181-c0db-42f7-9833-9c853fb5a191","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Set NFT collection sponsor","fullTitle":"integration test: ext. setCollectionSponsor(): Set NFT collection sponsor","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);","err":{},"uuid":"6fd9bfef-84c0-41ef-8b43-bd993cfd739f","isHook":false,"skipped":true},{"title":"Set Fungible collection sponsor","fullTitle":"integration test: ext. setCollectionSponsor(): Set Fungible collection sponsor","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);","err":{},"uuid":"61a720d0-0fe1-4b46-967c-c01d70b6242c","isHook":false,"skipped":true},{"title":"Set ReFungible collection sponsor","fullTitle":"integration test: ext. setCollectionSponsor(): Set ReFungible collection sponsor","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);","err":{},"uuid":"cb5646f4-5aba-4d98-9817-de2c9bd42fce","isHook":false,"skipped":true},{"title":"Set the same sponsor repeatedly","fullTitle":"integration test: ext. setCollectionSponsor(): Set the same sponsor repeatedly","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);","err":{},"uuid":"86441019-203b-4476-af25-ccba5b9e2741","isHook":false,"skipped":true},{"title":"Replace collection sponsor","fullTitle":"integration test: ext. setCollectionSponsor(): Replace collection sponsor","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nconst keyring = new api_1.Keyring({ type: 'sr25519' });\nconst charlie = keyring.addFromUri('//Charlie');\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, charlie.address);","err":{},"uuid":"24d56994-b714-4916-a755-bbae2775d2c4","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["6fd9bfef-84c0-41ef-8b43-bd993cfd739f","61a720d0-0fe1-4b46-967c-c01d70b6242c","cb5646f4-5aba-4d98-9817-de2c9bd42fce","86441019-203b-4476-af25-ccba5b9e2741","24d56994-b714-4916-a755-bbae2775d2c4"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"cec3e13f-3894-41ae-b288-c60bfcf771dd","title":"(!negative test!) integration test: ext. setCollectionSponsor():","fullFile":"/nft_parachain/tests/src/setCollectionSponsor.test.ts","file":"/src/setCollectionSponsor.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"(!negative test!) integration test: ext. setCollectionSponsor(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n charlie = keyring.addFromUri('//Charlie');\n});","err":{},"uuid":"6e23f95c-a8f1-4af9-905e-d6cd335b614f","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"(!negative test!) Add sponsor with a non-owner","fullTitle":"(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Add sponsor with a non-owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectFailure(collectionId, bob.address, '//Bob');","err":{},"uuid":"683d509e-09c6-4df6-928b-aa8f1ca81b8c","isHook":false,"skipped":true},{"title":"(!negative test!) Add sponsor to a collection that never existed","fullTitle":"(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Add sponsor to a collection that never existed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// Find the collection that never existed\nlet collectionId = 0;\nawait substrate_api_1.default(async (api) => {\n collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n});\nawait helpers_1.setCollectionSponsorExpectFailure(collectionId, bob.address);","err":{},"uuid":"8f54053d-0d3a-4948-ad54-716e75cd82e0","isHook":false,"skipped":true},{"title":"(!negative test!) Add sponsor to a collection that was destroyed","fullTitle":"(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Add sponsor to a collection that was destroyed","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.setCollectionSponsorExpectFailure(collectionId, bob.address);","err":{},"uuid":"40568762-50de-4901-8db1-050f95fb2b52","isHook":false,"skipped":true},{"title":"(!negative test!) Collection admin add sponsor","fullTitle":"(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Collection admin add sponsor","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.setCollectionSponsorExpectFailure(collectionId, charlie.address, '//Bob');","err":{},"uuid":"a33535e3-d85d-45f3-a599-7b4b2f2bc4ce","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["683d509e-09c6-4df6-928b-aa8f1ca81b8c","8f54053d-0d3a-4948-ad54-716e75cd82e0","40568762-50de-4901-8db1-050f95fb2b52","a33535e3-d85d-45f3-a599-7b4b2f2bc4ce"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"158f543c-d1ad-433b-a908-e239b62b96d3","title":"Integration Test ext. setConstOnChainSchema()","fullFile":"/nft_parachain/tests/src/setConstOnChainSchema.test.ts","file":"/src/setConstOnChainSchema.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Run extrinsic with parameters of the collection id, set the scheme","fullTitle":"Integration Test ext. setConstOnChainSchema() Run extrinsic with parameters of the collection id, set the scheme","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.eq(Alice.address);\n const setShema = api.tx.nft.setConstOnChainSchema(collectionId, Shema);\n await substrate_api_1.submitTransactionAsync(Alice, setShema);\n});","err":{},"uuid":"d112aefc-3e9d-46fb-b4a9-b0e0b8dc4d28","isHook":false,"skipped":true},{"title":"Collection admin can set the scheme","fullTitle":"Integration Test ext. setConstOnChainSchema() Collection admin can set the scheme","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.eq(Alice.address);\n await helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\n const setShema = api.tx.nft.setConstOnChainSchema(collectionId, Shema);\n await substrate_api_1.submitTransactionAsync(Bob, setShema);\n});","err":{},"uuid":"9af30569-5854-4062-be4e-a714e755a189","isHook":false,"skipped":true},{"title":"Checking collection data using the ConstOnChainSchema parameter","fullTitle":"Integration Test ext. setConstOnChainSchema() Checking collection data using the ConstOnChainSchema parameter","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const setShema = api.tx.nft.setConstOnChainSchema(collectionId, Shema);\n await substrate_api_1.submitTransactionAsync(Alice, setShema);\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.ConstOnChainSchema.toString()).to.be.eq(Shema);\n});","err":{},"uuid":"22077b7e-d757-4822-894a-749f8188e9bd","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["d112aefc-3e9d-46fb-b4a9-b0e0b8dc4d28","9af30569-5854-4062-be4e-a714e755a189","22077b7e-d757-4822-894a-749f8188e9bd"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"28e4fb50-d2ac-49de-81fa-1a240770f61a","title":"Negative Integration Test ext. setConstOnChainSchema()","fullFile":"/nft_parachain/tests/src/setConstOnChainSchema.test.ts","file":"/src/setConstOnChainSchema.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Set a non-existent collection","fullTitle":"Negative Integration Test ext. setConstOnChainSchema() Set a non-existent collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: radix\n const collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n const setShema = api.tx.nft.setConstOnChainSchema(collectionId, Shema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, setShema)).to.be.rejected;\n});","err":{},"uuid":"7ce3cde5-be29-4d65-9320-46cc0d8a4f31","isHook":false,"skipped":true},{"title":"Set a previously deleted collection","fullTitle":"Negative Integration Test ext. setConstOnChainSchema() Set a previously deleted collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n const setShema = api.tx.nft.setConstOnChainSchema(collectionId, Shema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, setShema)).to.be.rejected;\n});","err":{},"uuid":"9ee1b42d-b518-4090-a17a-dd57e2186940","isHook":false,"skipped":true},{"title":"Set invalid data in schema (size too large:> 1024b)","fullTitle":"Negative Integration Test ext. setConstOnChainSchema() Set invalid data in schema (size too large:> 1024b)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const setShema = api.tx.nft.setConstOnChainSchema(collectionId, largeShema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, setShema)).to.be.rejected;\n});","err":{},"uuid":"3fb38da2-5f4f-4929-aed8-07146645f2ed","isHook":false,"skipped":true},{"title":"Execute method not on behalf of the collection owner","fullTitle":"Negative Integration Test ext. setConstOnChainSchema() Execute method not on behalf of the collection owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.eq(Alice.address);\n const setShema = api.tx.nft.setConstOnChainSchema(collectionId, Shema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Bob, setShema)).to.be.rejected;\n});","err":{},"uuid":"75fdd293-994b-4984-b654-f245487e44d2","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["7ce3cde5-be29-4d65-9320-46cc0d8a4f31","9ee1b42d-b518-4090-a17a-dd57e2186940","3fb38da2-5f4f-4929-aed8-07146645f2ed","75fdd293-994b-4984-b654-f245487e44d2"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"e78dc91b-d806-46dd-984e-ec046f502cd2","title":"Integration Test setContractSponsoringRateLimit","fullFile":"/nft_parachain/tests/src/setContractSponsoringRateLimit.test.ts","file":"/src/setContractSponsoringRateLimit.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"ensure sponsored contract can't be called twice without pause for free","fullTitle":"Integration Test setContractSponsoringRateLimit ensure sponsored contract can't be called twice without pause for free","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"135d3e1d-e004-44c4-9e22-3d6a253435c0","isHook":false,"skipped":false},{"title":"ensure sponsored contract can be called twice with pause for free","fullTitle":"Integration Test setContractSponsoringRateLimit ensure sponsored contract can be called twice with pause for free","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"4b560f0c-46d1-49a7-b5a9-5496c91234fc","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["135d3e1d-e004-44c4-9e22-3d6a253435c0","4b560f0c-46d1-49a7-b5a9-5496c91234fc"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"bc7ada2a-db31-43ce-a802-033605a598f1","title":"Negative Integration Test setContractSponsoringRateLimit","fullFile":"/nft_parachain/tests/src/setContractSponsoringRateLimit.test.ts","file":"/src/setContractSponsoringRateLimit.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"fails when called for non-contract address","fullTitle":"Negative Integration Test setContractSponsoringRateLimit fails when called for non-contract address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"e39de7ef-40bc-4d8c-aae1-0b7745bad05e","isHook":false,"skipped":false},{"title":"fails when called by non-owning user","fullTitle":"Negative Integration Test setContractSponsoringRateLimit fails when called by non-owning user","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"30b5ab68-1f40-4d2a-b589-6d866974e75c","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["e39de7ef-40bc-4d8c-aae1-0b7745bad05e","30b5ab68-1f40-4d2a-b589-6d866974e75c"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"eb5cbed0-02a5-444a-93de-c94fef224554","title":"Integration Test setMintPermission","fullFile":"/nft_parachain/tests/src/setMintPermission.test.ts","file":"/src/setMintPermission.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test setMintPermission \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"191f98d5-26a1-4910-8218-af236af77982","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"ensure white-listed non-privileged address can mint tokens","fullTitle":"Integration Test setMintPermission ensure white-listed non-privileged address can mint tokens","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\n await helpers_1.setMintPermissionExpectSuccess(alice, collectionId, true);\n await helpers_1.addToWhiteListExpectSuccess(alice, collectionId, bob.address);\n await helpers_1.createItemExpectSuccess(bob, collectionId, 'NFT');\n});","err":{},"uuid":"884235b9-da39-4217-9f9a-73fac056921c","isHook":false,"skipped":true},{"title":"can be enabled twice","fullTitle":"Integration Test setMintPermission can be enabled twice","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.setMintPermissionExpectSuccess(alice, collectionId, true);\n await helpers_1.setMintPermissionExpectSuccess(alice, collectionId, true);\n});","err":{},"uuid":"98173ea4-9d53-4b14-a61c-78b6c9158132","isHook":false,"skipped":true},{"title":"can be disabled twice","fullTitle":"Integration Test setMintPermission can be disabled twice","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.setMintPermissionExpectSuccess(alice, collectionId, true);\n await helpers_1.setMintPermissionExpectSuccess(alice, collectionId, false);\n await helpers_1.setMintPermissionExpectSuccess(alice, collectionId, false);\n});","err":{},"uuid":"2aa44b95-b911-4a5e-9f3d-fda7b0c3fbda","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["884235b9-da39-4217-9f9a-73fac056921c","98173ea4-9d53-4b14-a61c-78b6c9158132","2aa44b95-b911-4a5e-9f3d-fda7b0c3fbda"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"cbc6e3f1-5d78-4769-9afd-72998c570eb6","title":"Negative Integration Test setMintPermission","fullFile":"/nft_parachain/tests/src/setMintPermission.test.ts","file":"/src/setMintPermission.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test setMintPermission \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"34da7a1c-2588-45e4-a3dd-8238f60e2e11","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"fails on not existing collection","fullTitle":"Negative Integration Test setMintPermission fails on not existing collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const nonExistingCollection = await helpers_1.findNotExistingCollection(api);\n await helpers_1.setMintPermissionExpectFailure(alice, nonExistingCollection, true);\n});","err":{},"uuid":"2646ad83-06be-4fee-92b4-0316359e4d47","isHook":false,"skipped":true},{"title":"fails on removed collection","fullTitle":"Negative Integration Test setMintPermission fails on removed collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const removedCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.destroyCollectionExpectSuccess(removedCollectionId);\n await helpers_1.setMintPermissionExpectFailure(alice, removedCollectionId, true);\n});","err":{},"uuid":"06542d72-bd12-4943-a060-726f91838cf6","isHook":false,"skipped":true},{"title":"fails when not collection owner tries to set mint status","fullTitle":"Negative Integration Test setMintPermission fails when not collection owner tries to set mint status","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\nawait helpers_1.setMintPermissionExpectFailure(bob, collectionId, true);","err":{},"uuid":"b5f2f65c-cebf-4155-8a5b-f64db02dfd8b","isHook":false,"skipped":true},{"title":"Collection admin fails on set","fullTitle":"Negative Integration Test setMintPermission Collection admin fails on set","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\n await helpers_1.setMintPermissionExpectFailure(bob, collectionId, true);\n});","err":{},"uuid":"d5919771-6a70-4e9b-978f-dae88e7bb206","isHook":false,"skipped":true},{"title":"ensure non-white-listed non-privileged address can't mint tokens","fullTitle":"Negative Integration Test setMintPermission ensure non-white-listed non-privileged address can't mint tokens","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n await helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\n await helpers_1.setMintPermissionExpectSuccess(alice, collectionId, true);\n await helpers_1.createItemExpectFailure(bob, collectionId, 'NFT');\n});","err":{},"uuid":"17be383a-4cda-4426-9104-ca99e965bccc","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["2646ad83-06be-4fee-92b4-0316359e4d47","06542d72-bd12-4943-a060-726f91838cf6","b5f2f65c-cebf-4155-8a5b-f64db02dfd8b","d5919771-6a70-4e9b-978f-dae88e7bb206","17be383a-4cda-4426-9104-ca99e965bccc"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"8ee811c1-d214-486c-9cf1-2457e3e040d0","title":"Integration Test setOffchainSchema","fullFile":"/nft_parachain/tests/src/setOffchainSchema.test.ts","file":"/src/setOffchainSchema.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test setOffchainSchema \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"784ee8b7-3378-496c-9630-39ea92fb5387","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setOffchainSchema, verify data was set","fullTitle":"Integration Test setOffchainSchema execute setOffchainSchema, verify data was set","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.setOffchainSchemaExpectSuccess(alice, collectionId, DATA);\nconst collection = await helpers_1.queryCollectionExpectSuccess(collectionId);\nexpect(collection.OffchainSchema).to.be.equal('0x' + Buffer.from(DATA).toString('hex'));","err":{},"uuid":"74df46ab-1974-4c14-b1c8-b44107edf519","isHook":false,"skipped":true},{"title":"execute setOffchainSchema (collection admin), verify data was set","fullTitle":"Integration Test setOffchainSchema execute setOffchainSchema (collection admin), verify data was set","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.setOffchainSchemaExpectSuccess(bob, collectionId, DATA);\nconst collection = await helpers_1.queryCollectionExpectSuccess(collectionId);\nexpect(collection.OffchainSchema).to.be.equal('0x' + Buffer.from(DATA).toString('hex'));","err":{},"uuid":"a96f3c18-592c-4597-9516-3f5186e54953","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["74df46ab-1974-4c14-b1c8-b44107edf519","a96f3c18-592c-4597-9516-3f5186e54953"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"128add77-4dab-49aa-93c8-f00f156e2fe8","title":"Negative Integration Test setOffchainSchema","fullFile":"/nft_parachain/tests/src/setOffchainSchema.test.ts","file":"/src/setOffchainSchema.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test setOffchainSchema \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n validCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n});","err":{},"uuid":"42ceb947-54d1-43bd-818f-e2e6579f5bf4","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"fails on not existing collection id","fullTitle":"Negative Integration Test setOffchainSchema fails on not existing collection id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nonExistingCollectionId = await substrate_api_1.default(helpers_1.findNotExistingCollection);\nawait helpers_1.setOffchainSchemaExpectFailure(alice, nonExistingCollectionId, DATA);","err":{},"uuid":"57ef09b4-431d-44db-b422-f551119d8a58","isHook":false,"skipped":true},{"title":"fails on destroyed collection id","fullTitle":"Negative Integration Test setOffchainSchema fails on destroyed collection id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const destroyedCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.destroyCollectionExpectSuccess(destroyedCollectionId);\nawait helpers_1.setOffchainSchemaExpectFailure(alice, destroyedCollectionId, DATA);","err":{},"uuid":"03fec951-9f04-44e6-bd91-b3db5006f811","isHook":false,"skipped":true},{"title":"fails on too long data","fullTitle":"Negative Integration Test setOffchainSchema fails on too long data","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const tooLongData = new Array(4097).fill(0xff);\nawait helpers_1.setOffchainSchemaExpectFailure(alice, validCollectionId, tooLongData);","err":{},"uuid":"0c79ca69-2103-4006-807b-ca84b88a4d3f","isHook":false,"skipped":true},{"title":"fails on execution by non-owner","fullTitle":"Negative Integration Test setOffchainSchema fails on execution by non-owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.setOffchainSchemaExpectFailure(bob, validCollectionId, DATA);","err":{},"uuid":"e24a2704-3e4b-4e16-9bbf-8469e1075273","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["57ef09b4-431d-44db-b422-f551119d8a58","03fec951-9f04-44e6-bd91-b3db5006f811","0c79ca69-2103-4006-807b-ca84b88a4d3f","e24a2704-3e4b-4e16-9bbf-8469e1075273"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"21cd6275-d772-43e4-8107-49172c63e008","title":"Integration Test setPublicAccessMode(): ","fullFile":"/nft_parachain/tests/src/setPublicAccessMode.test.ts","file":"/src/setPublicAccessMode.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test setPublicAccessMode(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"2c502666-f62e-4258-b153-af208488ecd1","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Run extrinsic with collection id parameters, set the whitelist mode for the collection","fullTitle":"Integration Test setPublicAccessMode(): Run extrinsic with collection id parameters, set the whitelist mode for the collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(Alice, collectionId);\n await helpers_1.enablePublicMintingExpectSuccess(Alice, collectionId);\n await helpers_1.addToWhiteListExpectSuccess(Alice, collectionId, Bob.address);\n await helpers_1.createItemExpectSuccess(Bob, collectionId, 'NFT', Bob.address);\n});","err":{},"uuid":"55b032ac-9618-4054-95ea-d81ba90b0c90","isHook":false,"skipped":true},{"title":"Whitelisted collection limits","fullTitle":"Integration Test setPublicAccessMode(): Whitelisted collection limits","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(Alice, collectionId);\n await helpers_1.enablePublicMintingExpectSuccess(Alice, collectionId);\n const tx = api.tx.nft.createItem(collectionId, helpers_1.normalizeAccountId(Bob.address), 'NFT');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Bob, tx)).to.be.rejected;\n});","err":{},"uuid":"1a73aee5-8fbf-4c9e-8597-1fd85d8535b9","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["55b032ac-9618-4054-95ea-d81ba90b0c90","1a73aee5-8fbf-4c9e-8597-1fd85d8535b9"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"2b95666d-f34b-4ed3-acf5-fdd7ea14f453","title":"Negative Integration Test ext. setPublicAccessMode(): ","fullFile":"/nft_parachain/tests/src/setPublicAccessMode.test.ts","file":"/src/setPublicAccessMode.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Set a non-existent collection","fullTitle":"Negative Integration Test ext. setPublicAccessMode(): Set a non-existent collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: radix\n const collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n const tx = api.tx.nft.setPublicAccessMode(collectionId, 'WhiteList');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, tx)).to.be.rejected;\n});","err":{},"uuid":"bf038639-2b3a-4e55-8fd8-87fc2dd2079f","isHook":false,"skipped":true},{"title":"Set the collection that has been deleted","fullTitle":"Negative Integration Test ext. setPublicAccessMode(): Set the collection that has been deleted","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: no-bitwise\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n const tx = api.tx.nft.setPublicAccessMode(collectionId, 'WhiteList');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, tx)).to.be.rejected;\n});","err":{},"uuid":"0869df88-a579-4e57-82e3-ed0cec2df308","isHook":false,"skipped":true},{"title":"Re-set the list mode already set in quantity","fullTitle":"Negative Integration Test ext. setPublicAccessMode(): Re-set the list mode already set in quantity","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.enableWhiteListExpectSuccess(Alice, collectionId);\n await helpers_1.enableWhiteListExpectSuccess(Alice, collectionId);\n});","err":{},"uuid":"c15c0080-3c65-4afd-89e5-b6ac7c08880a","isHook":false,"skipped":true},{"title":"Execute method not on behalf of the collection owner","fullTitle":"Negative Integration Test ext. setPublicAccessMode(): Execute method not on behalf of the collection owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: no-bitwise\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const tx = api.tx.nft.setPublicAccessMode(collectionId, 'WhiteList');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Bob, tx)).to.be.rejected;\n});","err":{},"uuid":"65f44b07-e980-4937-a64e-966cc44cdfd0","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["bf038639-2b3a-4e55-8fd8-87fc2dd2079f","0869df88-a579-4e57-82e3-ed0cec2df308","c15c0080-3c65-4afd-89e5-b6ac7c08880a","65f44b07-e980-4937-a64e-966cc44cdfd0"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"fe633113-3571-4966-8ef2-f21169ed6919","title":"Negative Integration Test ext. collection admin setPublicAccessMode(): ","fullFile":"/nft_parachain/tests/src/setPublicAccessMode.test.ts","file":"/src/setPublicAccessMode.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test ext. collection admin setPublicAccessMode(): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});","err":{},"uuid":"67f09b42-dea1-4c38-ae29-14ec5b16ac2f","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"setPublicAccessMode by collection admin","fullTitle":"Negative Integration Test ext. collection admin setPublicAccessMode(): setPublicAccessMode by collection admin","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: no-bitwise\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\n const tx = api.tx.nft.setPublicAccessMode(collectionId, 'WhiteList');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Bob, tx)).to.be.rejected;\n});","err":{},"uuid":"f7f2e202-851a-4608-8011-59ed6f8cfd89","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["f7f2e202-851a-4608-8011-59ed6f8cfd89"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"95210d41-0381-4266-a470-6b1c1a8dd7d9","title":"hooks","fullFile":"/nft_parachain/tests/src/setSchemaVersion.test.ts","file":"/src/setSchemaVersion.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"hooks \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n});","err":{},"uuid":"65514693-ecaf-402a-a914-8207dc6e0e64","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"choose or create collection for testing","fullTitle":"hooks choose or create collection for testing","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n collectionIdForTesting = await helpers_1.createCollectionExpectSuccess({ name: 'A', description: 'B', tokenPrefix: 'C', mode: { type: 'NFT' } });\n});","err":{},"uuid":"5dd8b15a-e1e3-432c-a2d1-c3f239c17777","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["5dd8b15a-e1e3-432c-a2d1-c3f239c17777"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"b29cdf70-5c2b-4f4f-b53e-72c1180da4f5","title":"setSchemaVersion positive","fullFile":"/nft_parachain/tests/src/setSchemaVersion.test.ts","file":"/src/setSchemaVersion.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"setSchemaVersion positive \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n});","err":{},"uuid":"9013432b-5ba4-4bc8-a7a2-cde5e009de3e","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setSchemaVersion with image url and unique ","fullTitle":"setSchemaVersion positive execute setSchemaVersion with image url and unique ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setSchemaVersion(collectionIdForTesting, 'Unique');\n const events = await substrate_api_1.submitTransactionAsync(alice, tx);\n const result = helpers_1.getCreateItemResult(events);\n const collectionInfo = await helpers_1.getDetailedCollectionInfo(api, collectionIdForTesting);\n // tslint:disable-next-line:no-unused-expression\n expect(result.success).to.be.true;\n // tslint:disable-next-line:no-unused-expression\n expect(collectionInfo).to.be.exist;\n // tslint:disable-next-line:no-unused-expression\n expect(collectionInfo ? collectionInfo.SchemaVersion.toString() : '').to.be.equal('Unique');\n});","err":{},"uuid":"b1f37795-e81d-406d-87f8-c5dadaa5624e","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["b1f37795-e81d-406d-87f8-c5dadaa5624e"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"6b9969df-88db-40ee-8830-8ae2d4577acb","title":"Collection admin setSchemaVersion positive","fullFile":"/nft_parachain/tests/src/setSchemaVersion.test.ts","file":"/src/setSchemaVersion.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Collection admin setSchemaVersion positive \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n bob = keyring.addFromUri('//Bob');\n await helpers_1.addCollectionAdminExpectSuccess(alice, collectionIdForTesting, bob);\n});","err":{},"uuid":"499d6f5d-3966-4b81-b3a1-e140c0f46819","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setSchemaVersion with image url and unique ","fullTitle":"Collection admin setSchemaVersion positive execute setSchemaVersion with image url and unique ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setSchemaVersion(collectionIdForTesting, 'Unique');\n const events = await substrate_api_1.submitTransactionAsync(bob, tx);\n const result = helpers_1.getCreateItemResult(events);\n const collectionInfo = await helpers_1.getDetailedCollectionInfo(api, collectionIdForTesting);\n // tslint:disable-next-line:no-unused-expression\n expect(result.success).to.be.true;\n // tslint:disable-next-line:no-unused-expression\n expect(collectionInfo).to.be.exist;\n // tslint:disable-next-line:no-unused-expression\n expect(collectionInfo ? collectionInfo.SchemaVersion.toString() : '').to.be.equal('Unique');\n});","err":{},"uuid":"01b1449a-50b5-4294-b820-94be9a867866","isHook":false,"skipped":true},{"title":"validate schema version with just entered data","fullTitle":"Collection admin setSchemaVersion positive validate schema version with just entered data","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setSchemaVersion(collectionIdForTesting, 'ImageURL');\n const events = await substrate_api_1.submitTransactionAsync(bob, tx);\n const result = helpers_1.getCreateItemResult(events);\n const collectionInfo = await helpers_1.getDetailedCollectionInfo(api, collectionIdForTesting);\n // tslint:disable-next-line:no-unused-expression\n expect(result.success).to.be.true;\n // tslint:disable-next-line:no-unused-expression\n expect(collectionInfo).to.be.exist;\n // tslint:disable-next-line:no-unused-expression\n expect(collectionInfo ? collectionInfo.SchemaVersion.toString() : '').to.be.equal('ImageURL');\n});","err":{},"uuid":"f3f49e1a-d105-4784-a94b-f19feafab72e","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["01b1449a-50b5-4294-b820-94be9a867866","f3f49e1a-d105-4784-a94b-f19feafab72e"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"cca36752-479c-4b26-9c41-9ab7c1f97063","title":"setSchemaVersion negative","fullFile":"/nft_parachain/tests/src/setSchemaVersion.test.ts","file":"/src/setSchemaVersion.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"setSchemaVersion negative \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n charlie = keyring.addFromUri('//Charlie');\n});","err":{},"uuid":"b4dad0a8-e978-4a1f-9a29-5c2bc9f8b228","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setSchemaVersion for not exists collection","fullTitle":"setSchemaVersion negative execute setSchemaVersion for not exists collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionCount = await helpers_1.getCreatedCollectionCount(api);\n const nonExistedCollectionId = collectionCount + 1;\n tx = api.tx.nft.setSchemaVersion(nonExistedCollectionId, 'ImageURL');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, tx)).to.be.rejected;\n});","err":{},"uuid":"711dd282-06df-4b27-ad74-4817c4199cbe","isHook":false,"skipped":true},{"title":"execute setSchemaVersion with not correct schema version","fullTitle":"setSchemaVersion negative execute setSchemaVersion with not correct schema version","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const consoleError = console.error;\n console.error = () => { };\n try {\n tx = api.tx.nft.setSchemaVersion(collectionIdForTesting, 'Test');\n await substrate_api_1.submitTransactionAsync(alice, tx);\n }\n catch (e) {\n // tslint:disable-next-line:no-unused-expression\n expect(e).to.be.exist;\n }\n finally {\n console.error = consoleError;\n }\n});","err":{},"uuid":"03934978-2e4a-416e-a7bd-322c1bf6998d","isHook":false,"skipped":true},{"title":"execute setSchemaVersion for deleted collection","fullTitle":"setSchemaVersion negative execute setSchemaVersion for deleted collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n await helpers_1.destroyCollectionExpectSuccess(collectionIdForTesting);\n tx = api.tx.nft.setSchemaVersion(collectionIdForTesting, 'ImageURL');\n await expect(substrate_api_1.submitTransactionExpectFailAsync(alice, tx)).to.be.rejected;\n});","err":{},"uuid":"0f71035a-7ee8-49d5-9108-8c3a8cb20746","isHook":false,"skipped":true},{"title":"Regular user can`t execute setSchemaVersion with image url and unique ","fullTitle":"setSchemaVersion negative Regular user can`t execute setSchemaVersion with image url and unique ","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n tx = api.tx.nft.setSchemaVersion(collectionIdForTesting, 'Unique');\n await expect(substrate_api_1.submitTransactionAsync(charlie, tx)).to.be.rejected;\n});","err":{},"uuid":"3340ff9a-6b05-4d6f-8008-742400241c25","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["711dd282-06df-4b27-ad74-4817c4199cbe","03934978-2e4a-416e-a7bd-322c1bf6998d","0f71035a-7ee8-49d5-9108-8c3a8cb20746","3340ff9a-6b05-4d6f-8008-742400241c25"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"0e1d8b18-361d-486f-b15e-c942702380ce","title":"Integration Test setVariableMetaData","fullFile":"/nft_parachain/tests/src/setVariableMetaData.test.ts","file":"/src/setVariableMetaData.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test setVariableMetaData \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT');\n});","err":{},"uuid":"fda3fb20-122c-4c58-a568-38d5df352f10","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setVariableMetaData","fullTitle":"Integration Test setVariableMetaData execute setVariableMetaData","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.setVariableMetaDataExpectSuccess(alice, collectionId, tokenId, data);","err":{},"uuid":"e6809f64-bb74-4063-af89-26ec8b8ccfa1","isHook":false,"skipped":true},{"title":"verify data was set","fullTitle":"Integration Test setVariableMetaData verify data was set","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const item = (await api.query.nft.nftItemList(collectionId, tokenId)).unwrap();\n expect(Array.from(item.VariableData)).to.deep.equal(Array.from(data));\n});","err":{},"uuid":"41676afc-1825-4f06-91ba-7d86efc503d2","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["e6809f64-bb74-4063-af89-26ec8b8ccfa1","41676afc-1825-4f06-91ba-7d86efc503d2"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5d5baf3a-85e8-457a-837c-aad3479ae0fa","title":"Integration Test collection admin setVariableMetaData","fullFile":"/nft_parachain/tests/src/setVariableMetaData.test.ts","file":"/src/setVariableMetaData.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test collection admin setVariableMetaData \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n tokenId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT');\n await helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\n});","err":{},"uuid":"80e76546-37db-4019-a7d4-7c55efa8c3c7","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"execute setVariableMetaData","fullTitle":"Integration Test collection admin setVariableMetaData execute setVariableMetaData","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.setVariableMetaDataExpectSuccess(bob, collectionId, tokenId, data);","err":{},"uuid":"a729be6d-0a5f-453a-b96c-0abe0920eb11","isHook":false,"skipped":true},{"title":"verify data was set","fullTitle":"Integration Test collection admin setVariableMetaData verify data was set","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const item = (await api.query.nft.nftItemList(collectionId, tokenId)).unwrap();\n expect(Array.from(item.VariableData)).to.deep.equal(Array.from(data));\n});","err":{},"uuid":"5d706d87-49db-4147-9b21-896aafd8a741","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a729be6d-0a5f-453a-b96c-0abe0920eb11","5d706d87-49db-4147-9b21-896aafd8a741"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"8c8b8314-a60a-46d6-9f74-eedbe192ba40","title":"Negative Integration Test setVariableMetaData","fullFile":"/nft_parachain/tests/src/setVariableMetaData.test.ts","file":"/src/setVariableMetaData.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test setVariableMetaData \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n validCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\n validTokenId = await helpers_1.createItemExpectSuccess(alice, validCollectionId, 'NFT');\n});","err":{},"uuid":"5f12f2fd-31df-495d-aea7-4b99d560b28c","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"fails on not existing collection id","fullTitle":"Negative Integration Test setVariableMetaData fails on not existing collection id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const nonExistingCollectionId = await helpers_1.findNotExistingCollection(api);\n await helpers_1.setVariableMetaDataExpectFailure(alice, nonExistingCollectionId, 1, data);\n});","err":{},"uuid":"1520d86b-d0f4-4a03-93a4-c4d141613a26","isHook":false,"skipped":true},{"title":"fails on removed collection id","fullTitle":"Negative Integration Test setVariableMetaData fails on removed collection id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const removedCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nconst removedCollectionTokenId = await helpers_1.createItemExpectSuccess(alice, removedCollectionId, 'NFT');\nawait helpers_1.destroyCollectionExpectSuccess(removedCollectionId);\nawait helpers_1.setVariableMetaDataExpectFailure(alice, removedCollectionId, removedCollectionTokenId, data);","err":{},"uuid":"44afa873-e07e-407c-bf4b-b79bb327ba52","isHook":false,"skipped":true},{"title":"fails on removed token","fullTitle":"Negative Integration Test setVariableMetaData fails on removed token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const removedTokenCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nconst removedTokenId = await helpers_1.createItemExpectSuccess(alice, removedTokenCollectionId, 'NFT');\nawait helpers_1.burnItemExpectSuccess(alice, removedTokenCollectionId, removedTokenId);\nawait helpers_1.setVariableMetaDataExpectFailure(alice, removedTokenCollectionId, removedTokenId, data);","err":{},"uuid":"98e556c2-b933-484b-9d00-54f72c66bfb4","isHook":false,"skipped":true},{"title":"fails on not existing token","fullTitle":"Negative Integration Test setVariableMetaData fails on not existing token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const nonExistingTokenId = validTokenId + 1;\nawait helpers_1.setVariableMetaDataExpectFailure(alice, validCollectionId, nonExistingTokenId, data);","err":{},"uuid":"00979659-a78e-45e7-a73d-18cb03a61c77","isHook":false,"skipped":true},{"title":"fails on too long data","fullTitle":"Negative Integration Test setVariableMetaData fails on too long data","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const tooLongData = new Array(4097).fill(0xff);\nawait helpers_1.setVariableMetaDataExpectFailure(alice, validCollectionId, validTokenId, tooLongData);","err":{},"uuid":"30efa555-6e64-4176-b43c-59aca9e238cf","isHook":false,"skipped":true},{"title":"fails on fungible token","fullTitle":"Negative Integration Test setVariableMetaData fails on fungible token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst fungibleTokenId = await helpers_1.createItemExpectSuccess(alice, fungibleCollectionId, 'Fungible');\nawait helpers_1.setVariableMetaDataExpectFailure(alice, fungibleCollectionId, fungibleTokenId, data);","err":{},"uuid":"9487f809-f766-46d8-810c-db65c513e39d","isHook":false,"skipped":true},{"title":"fails on bad sender","fullTitle":"Negative Integration Test setVariableMetaData fails on bad sender","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await helpers_1.setVariableMetaDataExpectFailure(bob, validCollectionId, validTokenId, data);","err":{},"uuid":"303cec06-511c-4cb9-82d5-f8d2a651a289","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["1520d86b-d0f4-4a03-93a4-c4d141613a26","44afa873-e07e-407c-bf4b-b79bb327ba52","98e556c2-b933-484b-9d00-54f72c66bfb4","00979659-a78e-45e7-a73d-18cb03a61c77","30efa555-6e64-4176-b43c-59aca9e238cf","9487f809-f766-46d8-810c-db65c513e39d","303cec06-511c-4cb9-82d5-f8d2a651a289"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"1a362ae9-3751-4449-8623-b41905efddb4","title":"Integration Test setVariableMetadataSponsoringRateLimit","fullFile":"/nft_parachain/tests/src/setVariableMetadataSponsoringRateLimit.test.ts","file":"/src/setVariableMetadataSponsoringRateLimit.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test setVariableMetadataSponsoringRateLimit \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n alice = privateKey_1.default('//Alice');\n userWithNoBalance = await helpers_1.findUnusedAddress(api);\n});","err":{},"uuid":"b007713b-7a18-47e7-b3a0-93019aa5eac5","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"sponsored setVariableMetaData can be called twice with pause for free","fullTitle":"Integration Test setVariableMetadataSponsoringRateLimit sponsored setVariableMetaData can be called twice with pause for free","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, alice.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId);\nawait helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, {\n SponsoredDataRateLimit: 0,\n});\nconst itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);\nawait helpers_1.setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1, 2, 3]);\nawait helpers_1.setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1, 2, 3]);","err":{},"uuid":"a9c7a852-b054-41d0-9b46-81c6230b994e","isHook":false,"skipped":true},{"title":"sponsored setVariableMetaData can't be called twice without pause for free","fullTitle":"Integration Test setVariableMetadataSponsoringRateLimit sponsored setVariableMetaData can't be called twice without pause for free","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, alice.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId);\nawait helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, {\n SponsoredDataRateLimit: 10,\n});\nconst itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);\nawait helpers_1.setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1, 2, 3]);\nawait helpers_1.setVariableMetaDataExpectFailure(userWithNoBalance, collectionId, itemId, [1, 2, 3]);","err":{},"uuid":"f044ca9e-d444-4740-b72d-1be45413342f","isHook":false,"skipped":true},{"title":"sponsored setVariableMetaData can't be called for free with variable metadata above collection limits","fullTitle":"Integration Test setVariableMetadataSponsoringRateLimit sponsored setVariableMetaData can't be called for free with variable metadata above collection limits","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, alice.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId);\nawait helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, {\n SponsoredDataRateLimit: 0,\n SponsoredDataSize: 1,\n});\nconst itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);\nawait helpers_1.setVariableMetaDataExpectSuccess(userWithNoBalance, collectionId, itemId, [1]);\nawait helpers_1.setVariableMetaDataExpectFailure(userWithNoBalance, collectionId, itemId, [1, 2]);","err":{},"uuid":"8441ac2e-8b88-415d-8be9-2064b1c0e265","isHook":false,"skipped":true},{"title":"Default value of rate limit does not sponsor setting variable metadata","fullTitle":"Integration Test setVariableMetadataSponsoringRateLimit Default value of rate limit does not sponsor setting variable metadata","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, alice.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId);\nconst itemId = await helpers_1.createItemExpectSuccess(alice, collectionId, 'NFT', userWithNoBalance.address);\nawait helpers_1.setVariableMetaDataExpectFailure(userWithNoBalance, collectionId, itemId, [1]);","err":{},"uuid":"5af868e4-77c9-4ddf-8715-0f4d88aa7632","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a9c7a852-b054-41d0-9b46-81c6230b994e","f044ca9e-d444-4740-b72d-1be45413342f","8441ac2e-8b88-415d-8be9-2064b1c0e265","5af868e4-77c9-4ddf-8715-0f4d88aa7632"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"18086b2e-2832-425b-9558-bc1e65fafd91","title":"Integration Test ext. setVariableOnChainSchema()","fullFile":"/nft_parachain/tests/src/setVariableOnChainSchema.test.ts","file":"/src/setVariableOnChainSchema.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Run extrinsic with parameters of the collection id, set the scheme","fullTitle":"Integration Test ext. setVariableOnChainSchema() Run extrinsic with parameters of the collection id, set the scheme","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.eq(Alice.address);\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, Schema);\n await substrate_api_1.submitTransactionAsync(Alice, setSchema);\n});","err":{},"uuid":"3e84ac33-edf8-463b-a798-9bd566c1923a","isHook":false,"skipped":true},{"title":"Checking collection data using the setVariableOnChainSchema parameter","fullTitle":"Integration Test ext. setVariableOnChainSchema() Checking collection data using the setVariableOnChainSchema parameter","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, Schema);\n await substrate_api_1.submitTransactionAsync(Alice, setSchema);\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.VariableOnChainSchema.toString()).to.be.eq(Schema);\n});","err":{},"uuid":"dcff870a-5f53-4ad5-8be3-00122f9d3f97","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["3e84ac33-edf8-463b-a798-9bd566c1923a","dcff870a-5f53-4ad5-8be3-00122f9d3f97"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5758eb2f-a731-428e-b6df-220ca5552865","title":"Integration Test ext. collection admin setVariableOnChainSchema()","fullFile":"/nft_parachain/tests/src/setVariableOnChainSchema.test.ts","file":"/src/setVariableOnChainSchema.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Run extrinsic with parameters of the collection id, set the scheme","fullTitle":"Integration Test ext. collection admin setVariableOnChainSchema() Run extrinsic with parameters of the collection id, set the scheme","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.eq(Alice.address);\n await helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, Schema);\n await substrate_api_1.submitTransactionAsync(Bob, setSchema);\n});","err":{},"uuid":"c72d5119-bb01-455c-8ec7-9cbc3f68acf9","isHook":false,"skipped":true},{"title":"Checking collection data using the setVariableOnChainSchema parameter","fullTitle":"Integration Test ext. collection admin setVariableOnChainSchema() Checking collection data using the setVariableOnChainSchema parameter","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, Schema);\n await substrate_api_1.submitTransactionAsync(Bob, setSchema);\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.VariableOnChainSchema.toString()).to.be.eq(Schema);\n});","err":{},"uuid":"ab94900d-3da5-4bf8-96b9-f765ea577a32","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["c72d5119-bb01-455c-8ec7-9cbc3f68acf9","ab94900d-3da5-4bf8-96b9-f765ea577a32"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"159c6c9c-e143-4ec8-b00c-9a6065bb7444","title":"Negative Integration Test ext. setVariableOnChainSchema()","fullFile":"/nft_parachain/tests/src/setVariableOnChainSchema.test.ts","file":"/src/setVariableOnChainSchema.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Set a non-existent collection","fullTitle":"Negative Integration Test ext. setVariableOnChainSchema() Set a non-existent collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // tslint:disable-next-line: radix\n const collectionId = parseInt((await api.query.nft.createdCollectionCount()).toString()) + 1;\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, Schema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, setSchema)).to.be.rejected;\n});","err":{},"uuid":"bc86c05c-a512-4230-9b61-d1f6c76a4501","isHook":false,"skipped":true},{"title":"Set a previously deleted collection","fullTitle":"Negative Integration Test ext. setVariableOnChainSchema() Set a previously deleted collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.destroyCollectionExpectSuccess(collectionId);\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, Schema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, setSchema)).to.be.rejected;\n});","err":{},"uuid":"f082d5ab-8d6f-43cd-a23d-f89109a56116","isHook":false,"skipped":true},{"title":"Set invalid data in schema (size too large:> 1024b)","fullTitle":"Negative Integration Test ext. setVariableOnChainSchema() Set invalid data in schema (size too large:> 1024b)","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, largeSchema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Alice, setSchema)).to.be.rejected;\n});","err":{},"uuid":"8cc68f97-6041-4842-b0fd-04dad9d20a74","isHook":false,"skipped":true},{"title":"Execute method not on behalf of the collection owner","fullTitle":"Negative Integration Test ext. setVariableOnChainSchema() Execute method not on behalf of the collection owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const collectionId = await helpers_1.createCollectionExpectSuccess();\n const collection = (await api.query.nft.collectionById(collectionId)).toJSON();\n expect(collection.Owner).to.be.eq(Alice.address);\n const setSchema = api.tx.nft.setVariableOnChainSchema(collectionId, Schema);\n await expect(substrate_api_1.submitTransactionExpectFailAsync(Bob, setSchema)).to.be.rejected;\n});","err":{},"uuid":"721fe6f1-7388-4602-b44f-b306e4a80dc9","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["bc86c05c-a512-4230-9b61-d1f6c76a4501","f082d5ab-8d6f-43cd-a23d-f89109a56116","8cc68f97-6041-4842-b0fd-04dad9d20a74","721fe6f1-7388-4602-b44f-b306e4a80dc9"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"5a1340ed-9a0e-4ec0-af62-ee259c4f8d77","title":"Integration Test toggleContractWhiteList","fullFile":"/nft_parachain/tests/src/toggleContractWhiteList.test.ts","file":"/src/toggleContractWhiteList.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Enable white list contract mode","fullTitle":"Integration Test toggleContractWhiteList Enable white list contract mode","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"3b1ce9c7-2447-420c-b474-ac3ca85fc507","isHook":false,"skipped":false},{"title":"Only whitelisted account can call contract","fullTitle":"Integration Test toggleContractWhiteList Only whitelisted account can call contract","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"4b092e32-c2e5-4bc7-81d9-8efadf917431","isHook":false,"skipped":false},{"title":"Enabling white list repeatedly should not produce errors","fullTitle":"Integration Test toggleContractWhiteList Enabling white list repeatedly should not produce errors","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"30f63030-adec-4500-b814-5da7eacddec7","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["3b1ce9c7-2447-420c-b474-ac3ca85fc507","4b092e32-c2e5-4bc7-81d9-8efadf917431","30f63030-adec-4500-b814-5da7eacddec7"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"3f130c5f-721a-473d-b977-74ca9fdab991","title":"Negative Integration Test toggleContractWhiteList","fullFile":"/nft_parachain/tests/src/toggleContractWhiteList.test.ts","file":"/src/toggleContractWhiteList.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Enable white list for a non-contract","fullTitle":"Negative Integration Test toggleContractWhiteList Enable white list for a non-contract","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"dda7fd05-b1e8-4974-a8df-a32680f561ac","isHook":false,"skipped":false},{"title":"Enable white list using a non-owner address","fullTitle":"Negative Integration Test toggleContractWhiteList Enable white list using a non-owner address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":true,"code":"","err":{},"uuid":"cf1a94b5-348b-4963-9504-b79dbdc57f5b","isHook":false,"skipped":false}],"suites":[],"passes":[],"failures":[],"pending":["dda7fd05-b1e8-4974-a8df-a32680f561ac","cf1a94b5-348b-4963-9504-b79dbdc57f5b"],"skipped":[],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"9c8d5c0f-ed60-46ea-8dc8-d02454d960a4","title":"Integration Test Transfer(recipient, collection_id, item_id, value)","fullFile":"/nft_parachain/tests/src/transfer.test.ts","file":"/src/transfer.test.ts","beforeHooks":[],"afterHooks":[],"tests":[{"title":"Balance transfers and check balance","fullTitle":"Integration Test Transfer(recipient, collection_id, item_id, value) Balance transfers and check balance","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n const [alicesBalanceBefore, bobsBalanceBefore] = await get_balance_1.default(api, [accounts_1.alicesPublicKey, accounts_1.bobsPublicKey]);\n const alicePrivateKey = privateKey_1.default('//Alice');\n const transfer = api.tx.balances.transfer(accounts_1.bobsPublicKey, 1n);\n const events = await substrate_api_1.submitTransactionAsync(alicePrivateKey, transfer);\n const result = helpers_1.getCreateItemResult(events);\n // tslint:disable-next-line:no-unused-expression\n chai_1.expect(result.success).to.be.true;\n const [alicesBalanceAfter, bobsBalanceAfter] = await get_balance_1.default(api, [accounts_1.alicesPublicKey, accounts_1.bobsPublicKey]);\n // tslint:disable-next-line:no-unused-expression\n chai_1.expect(alicesBalanceAfter < alicesBalanceBefore).to.be.true;\n // tslint:disable-next-line:no-unused-expression\n chai_1.expect(bobsBalanceAfter > bobsBalanceBefore).to.be.true;\n});","err":{},"uuid":"ff5f089a-e6f0-4da1-9411-b0d0808e8007","isHook":false,"skipped":true},{"title":"Inability to pay fees error message is correct","fullTitle":"Integration Test Transfer(recipient, collection_id, item_id, value) Inability to pay fees error message is correct","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // Find unused address\n const pk = await helpers_1.findUnusedAddress(api);\n const badTransfer = api.tx.balances.transfer(accounts_1.bobsPublicKey, 1n);\n // const events = await submitTransactionAsync(pk, badTransfer);\n const badTransaction = async () => {\n const events = await substrate_api_1.submitTransactionAsync(pk, badTransfer);\n const result = helpers_1.getCreateCollectionResult(events);\n // tslint:disable-next-line:no-unused-expression\n chai_1.expect(result.success).to.be.false;\n };\n chai_1.expect(badTransaction()).to.be.rejectedWith('Inability to pay some fees , e.g. account balance too low');\n});","err":{},"uuid":"c05ffbdf-f157-4424-8a79-abaf1629a4b9","isHook":false,"skipped":true},{"title":"User can transfer owned token","fullTitle":"Integration Test Transfer(recipient, collection_id, item_id, value) User can transfer owned token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n await helpers_1.transferExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 1, 'NFT');\n // fungible\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\n await helpers_1.transferExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1, 'Fungible');\n // reFungible\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\n await helpers_1.transferExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 100, 'ReFungible');\n});","err":{},"uuid":"fe4480f5-d2ee-460a-a77f-d93a648df0a7","isHook":false,"skipped":true},{"title":"Collection admin can transfer owned token","fullTitle":"Integration Test Transfer(recipient, collection_id, item_id, value) Collection admin can transfer owned token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const Alice = privateKey_1.default('//Alice');\n const Bob = privateKey_1.default('//Bob');\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n await helpers_1.addCollectionAdminExpectSuccess(Alice, nftCollectionId, Bob);\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Bob, nftCollectionId, 'NFT', Bob.address);\n await helpers_1.transferExpectSuccess(nftCollectionId, newNftTokenId, Bob, Alice, 1, 'NFT');\n // fungible\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n await helpers_1.addCollectionAdminExpectSuccess(Alice, fungibleCollectionId, Bob);\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible', Bob.address);\n await helpers_1.transferExpectSuccess(fungibleCollectionId, newFungibleTokenId, Bob, Alice, 1, 'Fungible');\n // reFungible\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n await helpers_1.addCollectionAdminExpectSuccess(Alice, reFungibleCollectionId, Bob);\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Bob, reFungibleCollectionId, 'ReFungible', Bob.address);\n await helpers_1.transferExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, 100, 'ReFungible');\n});","err":{},"uuid":"fd485e0b-791b-41be-b8f6-67d6d90a2832","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["ff5f089a-e6f0-4da1-9411-b0d0808e8007","c05ffbdf-f157-4424-8a79-abaf1629a4b9","fe4480f5-d2ee-460a-a77f-d93a648df0a7","fd485e0b-791b-41be-b8f6-67d6d90a2832"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"6a098daf-9cfd-4d12-a0d0-dce0047c4b5a","title":"Negative Integration Test Transfer(recipient, collection_id, item_id, value)","fullFile":"/nft_parachain/tests/src/transfer.test.ts","file":"/src/transfer.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test Transfer(recipient, collection_id, item_id, value) \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"f1154bc2-86d1-41f5-a635-80a9ea654c9c","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Transfer with not existed collection_id","fullTitle":"Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with not existed collection_id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // nft\n const nftCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.transferExpectFailure(nftCollectionCount + 1, 1, Alice, Bob, 1);\n // fungible\n const fungibleCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.transferExpectFailure(fungibleCollectionCount + 1, 1, Alice, Bob, 1);\n // reFungible\n const reFungibleCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.transferExpectFailure(reFungibleCollectionCount + 1, 1, Alice, Bob, 1);\n});","err":{},"uuid":"c33a248a-96db-4899-a133-4b0b38537e2f","isHook":false,"skipped":true},{"title":"Transfer with deleted collection_id","fullTitle":"Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with deleted collection_id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// nft\nconst nftCollectionId = await helpers_1.createCollectionExpectSuccess();\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\nawait helpers_1.destroyCollectionExpectSuccess(nftCollectionId);\nawait helpers_1.transferExpectFailure(nftCollectionId, newNftTokenId, Alice, Bob, 1);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\nawait helpers_1.destroyCollectionExpectSuccess(fungibleCollectionId);\nawait helpers_1.transferExpectFailure(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nconst newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\nawait helpers_1.destroyCollectionExpectSuccess(reFungibleCollectionId);\nawait helpers_1.transferExpectFailure(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 1);","err":{},"uuid":"287947b2-8b40-4497-a405-e5912ca3021c","isHook":false,"skipped":true},{"title":"Transfer with not existed item_id","fullTitle":"Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with not existed item_id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// nft\nconst nftCollectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.transferExpectFailure(nftCollectionId, 2, Alice, Bob, 1);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.transferExpectFailure(fungibleCollectionId, 2, Alice, Bob, 1);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.transferExpectFailure(reFungibleCollectionId, 2, Alice, Bob, 1);","err":{},"uuid":"29c0307e-a6ae-4634-9f53-df09beed96ea","isHook":false,"skipped":true},{"title":"Transfer with deleted item_id","fullTitle":"Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with deleted item_id","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// nft\nconst nftCollectionId = await helpers_1.createCollectionExpectSuccess();\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\nawait helpers_1.burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);\nawait helpers_1.transferExpectFailure(nftCollectionId, newNftTokenId, Alice, Bob, 1);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\nawait helpers_1.burnItemExpectSuccess(Alice, fungibleCollectionId, newFungibleTokenId, 10);\nawait helpers_1.transferExpectFailure(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nconst newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\nawait helpers_1.burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);\nawait helpers_1.transferExpectFailure(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 1);","err":{},"uuid":"1cf9d8b1-7447-465a-9660-fd7c2ed5bf99","isHook":false,"skipped":true},{"title":"Transfer with recipient that is not owner","fullTitle":"Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with recipient that is not owner","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"// nft\nconst nftCollectionId = await helpers_1.createCollectionExpectSuccess();\nconst newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\nawait helpers_1.transferExpectFailure(nftCollectionId, newNftTokenId, Charlie, Bob, 1);\n// fungible\nconst fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nconst newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\nawait helpers_1.transferExpectFailure(fungibleCollectionId, newFungibleTokenId, Charlie, Bob, 1);\n// reFungible\nconst reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nconst newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\nawait helpers_1.transferExpectFailure(reFungibleCollectionId, newReFungibleTokenId, Charlie, Bob, 1);","err":{},"uuid":"0e1fedb7-69b8-4481-b42b-8cc79765c4c2","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["c33a248a-96db-4899-a133-4b0b38537e2f","287947b2-8b40-4497-a405-e5912ca3021c","29c0307e-a6ae-4634-9f53-df09beed96ea","1cf9d8b1-7447-465a-9660-fd7c2ed5bf99","0e1fedb7-69b8-4481-b42b-8cc79765c4c2"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"0410e3f4-f36a-43d0-8d60-8b2e0be7c8d1","title":"Integration Test transferFrom(from, recipient, collection_id, item_id, value):","fullFile":"/nft_parachain/tests/src/transferFrom.test.ts","file":"/src/transferFrom.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Integration Test transferFrom(from, recipient, collection_id, item_id, value): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"a7536c7c-5474-4888-afc7-521bef185f82","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"Execute the extrinsic and check nftItemList - owner of token","fullTitle":"Integration Test transferFrom(from, recipient, collection_id, item_id, value): Execute the extrinsic and check nftItemList - owner of token","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n await helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);\n await helpers_1.transferFromExpectSuccess(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1, 'NFT');\n // fungible\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\n await helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);\n await helpers_1.transferFromExpectSuccess(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1, 'Fungible');\n // reFungible\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\n await helpers_1.approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob, 100);\n await helpers_1.transferFromExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 100, 'ReFungible');\n});","err":{},"uuid":"404522b7-6b2c-4cab-a92f-51701c8d5e56","isHook":false,"skipped":true},{"title":"Should reduce allowance if value is big","fullTitle":"Integration Test transferFrom(from, recipient, collection_id, item_id, value): Should reduce allowance if value is big","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const alice = privateKey_1.default('//Alice');\n const bob = privateKey_1.default('//Bob');\n const charlie = privateKey_1.default('//Charlie');\n // fungible\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createFungibleItemExpectSuccess(alice, fungibleCollectionId, { Value: 500000n });\n await helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, alice, bob, 500000n);\n await helpers_1.transferFromExpectSuccess(fungibleCollectionId, newFungibleTokenId, bob, alice, charlie, 500000n, 'Fungible');\n expect((await helpers_1.getAllowance(fungibleCollectionId, newFungibleTokenId, alice.address, bob.address)).toString()).to.equal('0');\n});","err":{},"uuid":"67cc81b1-6b4d-4368-a5a8-4f53f3ed0401","isHook":false,"skipped":true},{"title":"can be called by collection owner on non-owned item when OwnerCanTransfer == true","fullTitle":"Integration Test transferFrom(from, recipient, collection_id, item_id, value): can be called by collection owner on non-owned item when OwnerCanTransfer == true","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nconst itemId = await helpers_1.createItemExpectSuccess(Alice, collectionId, 'NFT', Bob.address);\nawait helpers_1.transferFromExpectSuccess(collectionId, itemId, Alice, Bob, Charlie);","err":{},"uuid":"f796b3fb-c283-49e4-af9d-a0d155adb5b9","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["404522b7-6b2c-4cab-a92f-51701c8d5e56","67cc81b1-6b4d-4368-a5a8-4f53f3ed0401","f796b3fb-c283-49e4-af9d-a0d155adb5b9"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999},{"uuid":"da6c9c5d-e934-43c6-b4f5-d81ee5822d3d","title":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value):","fullFile":"/nft_parachain/tests/src/transferFrom.test.ts","file":"/src/transferFrom.test.ts","beforeHooks":[{"title":"\"before all\" hook","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): \"before all\" hook","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n Charlie = privateKey_1.default('//Charlie');\n});","err":{},"uuid":"16c7cbf7-e6c2-4528-9716-20bce579c2c0","isHook":true,"skipped":false}],"afterHooks":[],"tests":[{"title":"transferFrom for a collection that does not exist","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom for a collection that does not exist","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async (api) => {\n // nft\n const nftCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.approveExpectFail(nftCollectionCount + 1, 1, Alice, Bob);\n await helpers_1.transferFromExpectFail(nftCollectionCount + 1, 1, Bob, Alice, Charlie, 1);\n // fungible\n const fungibleCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.approveExpectFail(fungibleCollectionCount + 1, 1, Alice, Bob);\n await helpers_1.transferFromExpectFail(fungibleCollectionCount + 1, 1, Bob, Alice, Charlie, 1);\n // reFungible\n const reFungibleCollectionCount = await api.query.nft.createdCollectionCount();\n await helpers_1.approveExpectFail(reFungibleCollectionCount + 1, 1, Alice, Bob);\n await helpers_1.transferFromExpectFail(reFungibleCollectionCount + 1, 1, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"a5d44056-808b-4e47-ade8-bd1895df0d4a","isHook":false,"skipped":true},{"title":"transferFrom for not approved address","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom for not approved address","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n await helpers_1.transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);\n // fungible\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\n await helpers_1.transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);\n // reFungible\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\n await helpers_1.transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"4b7c8080-6427-4e7e-afa5-0bf79d02c87b","isHook":false,"skipped":true},{"title":"transferFrom incorrect token count","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom incorrect token count","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n await helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);\n await helpers_1.transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 2);\n // fungible\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\n await helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);\n await helpers_1.transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 2);\n // reFungible\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\n await helpers_1.approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);\n await helpers_1.transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 2);\n});","err":{},"uuid":"ec426f3f-098a-4625-81db-114d31d1a074","isHook":false,"skipped":true},{"title":"execute transferFrom from account that is not owner of collection","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): execute transferFrom from account that is not owner of collection","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const Dave = privateKey_1.default('//Dave');\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n try {\n await helpers_1.approveExpectFail(nftCollectionId, newNftTokenId, Dave, Bob);\n await helpers_1.transferFromExpectFail(nftCollectionId, newNftTokenId, Dave, Alice, Charlie, 1);\n }\n catch (e) {\n // tslint:disable-next-line:no-unused-expression\n expect(e).to.be.exist;\n }\n // await transferFromExpectFail(nftCollectionId, newNftTokenId, Dave, Alice, Charlie, 1);\n // fungible\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\n try {\n await helpers_1.approveExpectFail(fungibleCollectionId, newFungibleTokenId, Dave, Bob);\n await helpers_1.transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Dave, Alice, Charlie, 1);\n }\n catch (e) {\n // tslint:disable-next-line:no-unused-expression\n expect(e).to.be.exist;\n }\n // reFungible\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\n try {\n await helpers_1.approveExpectFail(reFungibleCollectionId, newReFungibleTokenId, Dave, Bob);\n await helpers_1.transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Dave, Alice, Charlie, 1);\n }\n catch (e) {\n // tslint:disable-next-line:no-unused-expression\n expect(e).to.be.exist;\n }\n});","err":{},"uuid":"3f42770c-0612-4bda-9549-e6fd8f5ddc02","isHook":false,"skipped":true},{"title":"transferFrom burnt token before approve NFT","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token before approve NFT","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n await helpers_1.burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);\n await helpers_1.approveExpectFail(nftCollectionId, newNftTokenId, Alice, Bob);\n await helpers_1.transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"f2ba3a52-2534-41d8-9030-8cb7882140ef","isHook":false,"skipped":true},{"title":"transferFrom burnt token before approve Fungible","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token before approve Fungible","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\n await helpers_1.burnItemExpectSuccess(Alice, fungibleCollectionId, 1, 10);\n await helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);\n await helpers_1.transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"d50d2028-3c93-4588-a866-c4f15bddb4ca","isHook":false,"skipped":true},{"title":"transferFrom burnt token before approve ReFungible","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token before approve ReFungible","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\n await helpers_1.burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);\n await helpers_1.approveExpectFail(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);\n await helpers_1.transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"1b9fb2ec-9327-436e-b5aa-2331c5e7af30","isHook":false,"skipped":true},{"title":"transferFrom burnt token after approve NFT","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token after approve NFT","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n // nft\n const nftCollectionId = await helpers_1.createCollectionExpectSuccess();\n const newNftTokenId = await helpers_1.createItemExpectSuccess(Alice, nftCollectionId, 'NFT');\n await helpers_1.approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);\n await helpers_1.burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1);\n await helpers_1.transferFromExpectFail(nftCollectionId, newNftTokenId, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"7321a1d8-58d6-40f8-a8f6-64a521b2b004","isHook":false,"skipped":true},{"title":"transferFrom burnt token after approve Fungible","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token after approve Fungible","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const fungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\n const newFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');\n await helpers_1.approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);\n await helpers_1.burnItemExpectSuccess(Alice, fungibleCollectionId, 1, 10);\n await helpers_1.transferFromExpectFail(fungibleCollectionId, newFungibleTokenId, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"9e0127f4-4609-415d-8aed-07f00745e523","isHook":false,"skipped":true},{"title":"transferFrom burnt token after approve ReFungible","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token after approve ReFungible","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"await substrate_api_1.default(async () => {\n const reFungibleCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\n const newReFungibleTokenId = await helpers_1.createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');\n await helpers_1.approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);\n await helpers_1.burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1);\n await helpers_1.transferFromExpectFail(reFungibleCollectionId, newReFungibleTokenId, Bob, Alice, Charlie, 1);\n});","err":{},"uuid":"245c015f-866e-4a94-947f-24831361053c","isHook":false,"skipped":true},{"title":"fails when called by collection owner on non-owned item when OwnerCanTransfer == false","fullTitle":"Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): fails when called by collection owner on non-owned item when OwnerCanTransfer == false","timedOut":false,"duration":0,"pass":false,"fail":false,"pending":false,"code":"const collectionId = await helpers_1.createCollectionExpectSuccess();\nconst itemId = await helpers_1.createItemExpectSuccess(Alice, collectionId, 'NFT', Bob.address);\nawait helpers_1.setCollectionLimitsExpectSuccess(Alice, collectionId, { OwnerCanTransfer: false });\nawait helpers_1.transferFromExpectFail(collectionId, itemId, Alice, Bob, Charlie);","err":{},"uuid":"1ce5816b-f248-446a-80e8-a5cf15efd54f","isHook":false,"skipped":true}],"suites":[],"passes":[],"failures":[],"pending":[],"skipped":["a5d44056-808b-4e47-ade8-bd1895df0d4a","4b7c8080-6427-4e7e-afa5-0bf79d02c87b","ec426f3f-098a-4625-81db-114d31d1a074","3f42770c-0612-4bda-9549-e6fd8f5ddc02","f2ba3a52-2534-41d8-9030-8cb7882140ef","d50d2028-3c93-4588-a866-c4f15bddb4ca","1b9fb2ec-9327-436e-b5aa-2331c5e7af30","7321a1d8-58d6-40f8-a8f6-64a521b2b004","9e0127f4-4609-415d-8aed-07f00745e523","245c015f-866e-4a94-947f-24831361053c","1ce5816b-f248-446a-80e8-a5cf15efd54f"],"duration":0,"root":false,"rootEmpty":false,"_timeout":9999999}],"passes":[],"failures":[],"pending":[],"skipped":[],"duration":0,"root":true,"rootEmpty":true,"_timeout":9999999}],"meta":{"mocha":{"version":"8.4.0"},"mochawesome":{"options":{"quiet":false,"reportFilename":"mochawesome","saveHtml":true,"saveJson":true,"consoleReporter":"spec","useInlineDiffs":false,"code":true},"version":"6.2.2"},"marge":{"version":"5.2.0"}}}" data-config="{"reportFilename":"mochawesome","reportDir":"mochawesome-report","reportTitle":"tests","reportPageTitle":"Mochawesome Report","inline":false,"inlineAssets":false,"cdn":false,"charts":false,"enableCharts":false,"code":true,"enableCode":true,"autoOpen":false,"overwrite":true,"timestamp":false,"ts":false,"showPassed":true,"showFailed":true,"showPending":true,"showSkipped":false,"showHooks":"failed","saveJson":true,"saveHtml":true,"dev":false,"assetsDir":"mochawesome-report/assets","jsonFile":"/nft_parachain/tests/mochawesome-report/mochawesome.json","htmlFile":"/nft_parachain/tests/mochawesome-report/mochawesome.html"}"><div id="report"></div><script src="assets/app.js"></script></body></html>