1{2 "stats": {3 "suites": 0,4 "tests": 0,5 "passes": 0,6 "pending": 0,7 "failures": 0,8 "start": "2021-09-08T12:24:24.749Z",9 "end": "2021-09-08T12:24:24.775Z",10 "duration": 26,11 "testsRegistered": 363,12 "passPercent": 0,13 "pendingPercent": 0,14 "other": 1,15 "hasOther": true,16 "skipped": 363,17 "hasSkipped": true18 },19 "results": [20 {21 "uuid": "60720f68-c599-4517-bbe5-4c355843c456",22 "title": "",23 "fullFile": "",24 "file": "",25 "beforeHooks": [26 {27 "title": "\"before all\" hook in \"{root}\"",28 "fullTitle": "\"before all\" hook in \"{root}\"",29 "timedOut": false,30 "duration": 20,31 "state": "failed",32 "speed": null,33 "pass": false,34 "fail": true,35 "pending": false,36 "context": null,37 "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});",38 "err": {39 "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 :)",40 "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)",41 "diff": null42 },43 "uuid": "b2e6905c-e4c6-43b5-bac0-0a3077c70441",44 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",45 "isHook": true,46 "skipped": false47 },48 {49 "title": "\"before all\" hook",50 "fullTitle": "\"before all\" hook",51 "timedOut": false,52 "duration": 0,53 "state": null,54 "speed": null,55 "pass": false,56 "fail": false,57 "pending": false,58 "context": null,59 "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});",60 "err": {},61 "uuid": "b9b32b58-7e22-4714-b108-5c9eda9fe598",62 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",63 "isHook": true,64 "skipped": false65 },66 {67 "title": "\"before all\" hook",68 "fullTitle": "\"before all\" hook",69 "timedOut": false,70 "duration": 0,71 "state": null,72 "speed": null,73 "pass": false,74 "fail": false,75 "pending": false,76 "context": null,77 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",78 "err": {},79 "uuid": "45d28530-d27d-4d82-9838-6541e2460bd6",80 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",81 "isHook": true,82 "skipped": false83 },84 {85 "title": "\"before all\" hook",86 "fullTitle": "\"before all\" hook",87 "timedOut": false,88 "duration": 0,89 "state": null,90 "speed": null,91 "pass": false,92 "fail": false,93 "pending": false,94 "context": null,95 "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});",96 "err": {},97 "uuid": "cb1fabc7-5c76-4e92-be50-fcfe5b7a6e64",98 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",99 "isHook": true,100 "skipped": false101 },102 {103 "title": "\"before all\" hook",104 "fullTitle": "\"before all\" hook",105 "timedOut": false,106 "duration": 0,107 "state": null,108 "speed": null,109 "pass": false,110 "fail": false,111 "pending": false,112 "context": null,113 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",114 "err": {},115 "uuid": "3beb3f40-7ee3-4eae-985d-723c8158894d",116 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",117 "isHook": true,118 "skipped": false119 },120 {121 "title": "\"before all\" hook",122 "fullTitle": "\"before all\" hook",123 "timedOut": false,124 "duration": 0,125 "state": null,126 "speed": null,127 "pass": false,128 "fail": false,129 "pending": false,130 "context": null,131 "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});",132 "err": {},133 "uuid": "d6d32986-311a-42b1-afac-ae35b5465fad",134 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",135 "isHook": true,136 "skipped": false137 },138 {139 "title": "\"before all\" hook",140 "fullTitle": "\"before all\" hook",141 "timedOut": false,142 "duration": 0,143 "state": null,144 "speed": null,145 "pass": false,146 "fail": false,147 "pending": false,148 "context": null,149 "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});",150 "err": {},151 "uuid": "4d02f57a-8afc-4038-9dc1-6181713627f7",152 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",153 "isHook": true,154 "skipped": false155 },156 {157 "title": "\"before all\" hook",158 "fullTitle": "\"before all\" hook",159 "timedOut": false,160 "duration": 0,161 "state": null,162 "speed": null,163 "pass": false,164 "fail": false,165 "pending": false,166 "context": null,167 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",168 "err": {},169 "uuid": "9414213c-23c1-420c-8b83-4e740c4cdd51",170 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",171 "isHook": true,172 "skipped": false173 },174 {175 "title": "\"before all\" hook",176 "fullTitle": "\"before all\" hook",177 "timedOut": false,178 "duration": 0,179 "state": null,180 "speed": null,181 "pass": false,182 "fail": false,183 "pending": false,184 "context": null,185 "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});",186 "err": {},187 "uuid": "7e618a73-068f-4b94-882b-149c20ddd16d",188 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",189 "isHook": true,190 "skipped": false191 },192 {193 "title": "\"before all\" hook",194 "fullTitle": "\"before all\" hook",195 "timedOut": false,196 "duration": 0,197 "state": null,198 "speed": null,199 "pass": false,200 "fail": false,201 "pending": false,202 "context": null,203 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Ferdie = privateKey_1.default('//Ferdie');\n});",204 "err": {},205 "uuid": "32e886fe-0986-4853-865d-a17bf7becede",206 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",207 "isHook": true,208 "skipped": false209 },210 {211 "title": "\"before all\" hook",212 "fullTitle": "\"before all\" hook",213 "timedOut": false,214 "duration": 0,215 "state": null,216 "speed": null,217 "pass": false,218 "fail": false,219 "pending": false,220 "context": null,221 "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});",222 "err": {},223 "uuid": "3f8d4bc9-df4d-4a56-ab5d-00eb990f88c8",224 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",225 "isHook": true,226 "skipped": false227 },228 {229 "title": "\"before all\" hook",230 "fullTitle": "\"before all\" hook",231 "timedOut": false,232 "duration": 0,233 "state": null,234 "speed": null,235 "pass": false,236 "fail": false,237 "pending": false,238 "context": null,239 "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});",240 "err": {},241 "uuid": "bda5978b-aea2-4c9d-8db9-010d66209065",242 "parentUUID": "60720f68-c599-4517-bbe5-4c355843c456",243 "isHook": true,244 "skipped": false245 }246 ],247 "afterHooks": [],248 "tests": [],249 "suites": [250 {251 "uuid": "883d1f24-daf5-4795-b324-5ac4e4aba2fd",252 "title": "Integration Test addCollectionAdmin(collection_id, new_admin_id):",253 "fullFile": "/nft_parachain/tests/src/addCollectionAdmin.test.ts",254 "file": "/src/addCollectionAdmin.test.ts",255 "beforeHooks": [],256 "afterHooks": [],257 "tests": [258 {259 "title": "Add collection admin.",260 "fullTitle": "Integration Test addCollectionAdmin(collection_id, new_admin_id): Add collection admin.",261 "timedOut": false,262 "duration": 0,263 "state": null,264 "speed": null,265 "pass": false,266 "fail": false,267 "pending": false,268 "context": null,269 "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});",270 "err": {},271 "uuid": "ae13d452-a347-4d9d-bd67-fb8f39016e9a",272 "parentUUID": null,273 "isHook": false,274 "skipped": true275 },276 {277 "title": "Add admin using added collection admin.",278 "fullTitle": "Integration Test addCollectionAdmin(collection_id, new_admin_id): Add admin using added collection admin.",279 "timedOut": false,280 "duration": 0,281 "state": null,282 "speed": null,283 "pass": false,284 "fail": false,285 "pending": false,286 "context": null,287 "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});",288 "err": {},289 "uuid": "7bd5e167-dcc1-4b2a-b891-ce5813a9fb40",290 "parentUUID": null,291 "isHook": false,292 "skipped": true293 }294 ],295 "suites": [],296 "passes": [],297 "failures": [],298 "pending": [],299 "skipped": [300 "ae13d452-a347-4d9d-bd67-fb8f39016e9a",301 "7bd5e167-dcc1-4b2a-b891-ce5813a9fb40"302 ],303 "duration": 0,304 "root": false,305 "rootEmpty": false,306 "_timeout": 9999999307 },308 {309 "uuid": "5f947ba1-65c6-442f-b9f3-13186b004d6a",310 "title": "Negative Integration Test addCollectionAdmin(collection_id, new_admin_id):",311 "fullFile": "/nft_parachain/tests/src/addCollectionAdmin.test.ts",312 "file": "/src/addCollectionAdmin.test.ts",313 "beforeHooks": [],314 "afterHooks": [],315 "tests": [316 {317 "title": "Not owner can't add collection admin.",318 "fullTitle": "Negative Integration Test addCollectionAdmin(collection_id, new_admin_id): Not owner can't add collection admin.",319 "timedOut": false,320 "duration": 0,321 "state": null,322 "speed": null,323 "pass": false,324 "fail": false,325 "pending": false,326 "context": null,327 "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});",328 "err": {},329 "uuid": "ccd1505b-6b0b-4472-8d2c-d3a67b729421",330 "parentUUID": null,331 "isHook": false,332 "skipped": true333 },334 {335 "title": "Can't add collection admin of not existing collection.",336 "fullTitle": "Negative Integration Test addCollectionAdmin(collection_id, new_admin_id): Can't add collection admin of not existing collection.",337 "timedOut": false,338 "duration": 0,339 "state": null,340 "speed": null,341 "pass": false,342 "fail": false,343 "pending": false,344 "context": null,345 "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});",346 "err": {},347 "uuid": "0e3a766b-610e-479f-821f-6ec97d977002",348 "parentUUID": null,349 "isHook": false,350 "skipped": true351 },352 {353 "title": "Can't add an admin to a destroyed collection.",354 "fullTitle": "Negative Integration Test addCollectionAdmin(collection_id, new_admin_id): Can't add an admin to a destroyed collection.",355 "timedOut": false,356 "duration": 0,357 "state": null,358 "speed": null,359 "pass": false,360 "fail": false,361 "pending": false,362 "context": null,363 "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});",364 "err": {},365 "uuid": "fe525657-ebd6-47b9-8970-3dafaff61f5f",366 "parentUUID": null,367 "isHook": false,368 "skipped": true369 },370 {371 "title": "Add an admin to a collection that has reached the maximum number of admins limit",372 "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",373 "timedOut": false,374 "duration": 0,375 "state": null,376 "speed": null,377 "pass": false,378 "fail": false,379 "pending": false,380 "context": null,381 "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});",382 "err": {},383 "uuid": "de058063-f5ef-43e7-9504-464decfd04e5",384 "parentUUID": null,385 "isHook": false,386 "skipped": true387 }388 ],389 "suites": [],390 "passes": [],391 "failures": [],392 "pending": [],393 "skipped": [394 "ccd1505b-6b0b-4472-8d2c-d3a67b729421",395 "0e3a766b-610e-479f-821f-6ec97d977002",396 "fe525657-ebd6-47b9-8970-3dafaff61f5f",397 "de058063-f5ef-43e7-9504-464decfd04e5"398 ],399 "duration": 0,400 "root": false,401 "rootEmpty": false,402 "_timeout": 9999999403 },404 {405 "uuid": "db675fb6-e2f8-42d5-b6bf-4bc5fd860e90",406 "title": "Integration Test addToContractWhiteList",407 "fullFile": "/nft_parachain/tests/src/addToContractWhiteList.test.ts",408 "file": "/src/addToContractWhiteList.test.ts",409 "beforeHooks": [],410 "afterHooks": [],411 "tests": [412 {413 "title": "Add an address to a contract white list",414 "fullTitle": "Integration Test addToContractWhiteList Add an address to a contract white list",415 "timedOut": false,416 "duration": 0,417 "state": null,418 "speed": null,419 "pass": false,420 "fail": false,421 "pending": true,422 "context": null,423 "code": "",424 "err": {},425 "uuid": "4d4e712f-9ce7-4906-9c7c-ac319a2e9da2",426 "parentUUID": null,427 "isHook": false,428 "skipped": false429 },430 {431 "title": "Adding same address to white list repeatedly should not produce errors",432 "fullTitle": "Integration Test addToContractWhiteList Adding same address to white list repeatedly should not produce errors",433 "timedOut": false,434 "duration": 0,435 "state": null,436 "speed": null,437 "pass": false,438 "fail": false,439 "pending": true,440 "context": null,441 "code": "",442 "err": {},443 "uuid": "22a2ad72-4361-493b-bc69-6b5974a42d50",444 "parentUUID": null,445 "isHook": false,446 "skipped": false447 }448 ],449 "suites": [],450 "passes": [],451 "failures": [],452 "pending": [453 "4d4e712f-9ce7-4906-9c7c-ac319a2e9da2",454 "22a2ad72-4361-493b-bc69-6b5974a42d50"455 ],456 "skipped": [],457 "duration": 0,458 "root": false,459 "rootEmpty": false,460 "_timeout": 9999999461 },462 {463 "uuid": "39f3396c-6bc9-4278-bb66-137f036c1025",464 "title": "Negative Integration Test addToContractWhiteList",465 "fullFile": "/nft_parachain/tests/src/addToContractWhiteList.test.ts",466 "file": "/src/addToContractWhiteList.test.ts",467 "beforeHooks": [],468 "afterHooks": [],469 "tests": [470 {471 "title": "Add an address to a white list of a non-contract",472 "fullTitle": "Negative Integration Test addToContractWhiteList Add an address to a white list of a non-contract",473 "timedOut": false,474 "duration": 0,475 "state": null,476 "speed": null,477 "pass": false,478 "fail": false,479 "pending": true,480 "context": null,481 "code": "",482 "err": {},483 "uuid": "11afd47c-355c-4dc3-91b7-49d462da2ee9",484 "parentUUID": null,485 "isHook": false,486 "skipped": false487 },488 {489 "title": "Add to a contract white list using a non-owner address",490 "fullTitle": "Negative Integration Test addToContractWhiteList Add to a contract white list using a non-owner address",491 "timedOut": false,492 "duration": 0,493 "state": null,494 "speed": null,495 "pass": false,496 "fail": false,497 "pending": true,498 "context": null,499 "code": "",500 "err": {},501 "uuid": "dc54f6a6-b79c-49c7-90cb-994667d80759",502 "parentUUID": null,503 "isHook": false,504 "skipped": false505 }506 ],507 "suites": [],508 "passes": [],509 "failures": [],510 "pending": [511 "11afd47c-355c-4dc3-91b7-49d462da2ee9",512 "dc54f6a6-b79c-49c7-90cb-994667d80759"513 ],514 "skipped": [],515 "duration": 0,516 "root": false,517 "rootEmpty": false,518 "_timeout": 9999999519 },520 {521 "uuid": "8e0432c7-b6de-4e10-a6d7-78f4ec63c23b",522 "title": "Integration Test ext. addToWhiteList()",523 "fullFile": "/nft_parachain/tests/src/addToWhiteList.test.ts",524 "file": "/src/addToWhiteList.test.ts",525 "beforeHooks": [526 {527 "title": "\"before all\" hook",528 "fullTitle": "Integration Test ext. addToWhiteList() \"before all\" hook",529 "timedOut": false,530 "duration": 0,531 "state": null,532 "speed": null,533 "pass": false,534 "fail": false,535 "pending": false,536 "context": null,537 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",538 "err": {},539 "uuid": "504f61a5-c065-474c-bfd9-50bb5e0e64ce",540 "parentUUID": null,541 "isHook": true,542 "skipped": false543 }544 ],545 "afterHooks": [],546 "tests": [547 {548 "title": "Execute the extrinsic with parameters: Collection ID and address to add to the white list",549 "fullTitle": "Integration Test ext. addToWhiteList() Execute the extrinsic with parameters: Collection ID and address to add to the white list",550 "timedOut": false,551 "duration": 0,552 "state": null,553 "speed": null,554 "pass": false,555 "fail": false,556 "pending": false,557 "context": null,558 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addToWhiteListExpectSuccess(Alice, collectionId, Bob.address);",559 "err": {},560 "uuid": "f4af86bd-2445-483b-84af-9dd6d4e89caf",561 "parentUUID": null,562 "isHook": false,563 "skipped": true564 },565 {566 "title": "Whitelisted minting: list restrictions",567 "fullTitle": "Integration Test ext. addToWhiteList() Whitelisted minting: list restrictions",568 "timedOut": false,569 "duration": 0,570 "state": null,571 "speed": null,572 "pass": false,573 "fail": false,574 "pending": false,575 "context": null,576 "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);",577 "err": {},578 "uuid": "076d5bc5-61a5-49b3-8a8b-85d92ab5ea95",579 "parentUUID": null,580 "isHook": false,581 "skipped": true582 }583 ],584 "suites": [],585 "passes": [],586 "failures": [],587 "pending": [],588 "skipped": [589 "f4af86bd-2445-483b-84af-9dd6d4e89caf",590 "076d5bc5-61a5-49b3-8a8b-85d92ab5ea95"591 ],592 "duration": 0,593 "root": false,594 "rootEmpty": false,595 "_timeout": 9999999596 },597 {598 "uuid": "54048e5b-61d8-4202-957f-c39bf6ecf002",599 "title": "Negative Integration Test ext. addToWhiteList()",600 "fullFile": "/nft_parachain/tests/src/addToWhiteList.test.ts",601 "file": "/src/addToWhiteList.test.ts",602 "beforeHooks": [],603 "afterHooks": [],604 "tests": [605 {606 "title": "White list an address in the collection that does not exist",607 "fullTitle": "Negative Integration Test ext. addToWhiteList() White list an address in the collection that does not exist",608 "timedOut": false,609 "duration": 0,610 "state": null,611 "speed": null,612 "pass": false,613 "fail": false,614 "pending": false,615 "context": null,616 "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});",617 "err": {},618 "uuid": "89dfc83d-b8ec-48ae-a23d-c254f74c457f",619 "parentUUID": null,620 "isHook": false,621 "skipped": true622 },623 {624 "title": "White list an address in the collection that was destroyed",625 "fullTitle": "Negative Integration Test ext. addToWhiteList() White list an address in the collection that was destroyed",626 "timedOut": false,627 "duration": 0,628 "state": null,629 "speed": null,630 "pass": false,631 "fail": false,632 "pending": false,633 "context": null,634 "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});",635 "err": {},636 "uuid": "5cc79a66-b069-4e44-b20e-e8463e79d03b",637 "parentUUID": null,638 "isHook": false,639 "skipped": true640 },641 {642 "title": "White list an address in the collection that does not have white list access enabled",643 "fullTitle": "Negative Integration Test ext. addToWhiteList() White list an address in the collection that does not have white list access enabled",644 "timedOut": false,645 "duration": 0,646 "state": null,647 "speed": null,648 "pass": false,649 "fail": false,650 "pending": false,651 "context": null,652 "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});",653 "err": {},654 "uuid": "a2acbcac-3464-4de4-a649-bd39ab868fcf",655 "parentUUID": null,656 "isHook": false,657 "skipped": true658 }659 ],660 "suites": [],661 "passes": [],662 "failures": [],663 "pending": [],664 "skipped": [665 "89dfc83d-b8ec-48ae-a23d-c254f74c457f",666 "5cc79a66-b069-4e44-b20e-e8463e79d03b",667 "a2acbcac-3464-4de4-a649-bd39ab868fcf"668 ],669 "duration": 0,670 "root": false,671 "rootEmpty": false,672 "_timeout": 9999999673 },674 {675 "uuid": "17759d9b-3a02-47ec-aa3b-7538324dfde4",676 "title": "Integration Test ext. addToWhiteList() with collection admin permissions:",677 "fullFile": "/nft_parachain/tests/src/addToWhiteList.test.ts",678 "file": "/src/addToWhiteList.test.ts",679 "beforeHooks": [680 {681 "title": "\"before all\" hook",682 "fullTitle": "Integration Test ext. addToWhiteList() with collection admin permissions: \"before all\" hook",683 "timedOut": false,684 "duration": 0,685 "state": null,686 "speed": null,687 "pass": false,688 "fail": false,689 "pending": false,690 "context": null,691 "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});",692 "err": {},693 "uuid": "39f215f2-a4da-40c8-a0cf-8f493363df97",694 "parentUUID": null,695 "isHook": true,696 "skipped": false697 }698 ],699 "afterHooks": [],700 "tests": [701 {702 "title": "Negative. Add to the white list by regular user",703 "fullTitle": "Integration Test ext. addToWhiteList() with collection admin permissions: Negative. Add to the white list by regular user",704 "timedOut": false,705 "duration": 0,706 "state": null,707 "speed": null,708 "pass": false,709 "fail": false,710 "pending": false,711 "context": null,712 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addToWhiteListExpectFail(Bob, collectionId, Charlie.address);",713 "err": {},714 "uuid": "0fd4da7d-13aa-4c8a-abb3-a62baf1eea08",715 "parentUUID": null,716 "isHook": false,717 "skipped": true718 },719 {720 "title": "Execute the extrinsic with parameters: Collection ID and address to add to the white list",721 "fullTitle": "Integration Test ext. addToWhiteList() with collection admin permissions: Execute the extrinsic with parameters: Collection ID and address to add to the white list",722 "timedOut": false,723 "duration": 0,724 "state": null,725 "speed": null,726 "pass": false,727 "fail": false,728 "pending": false,729 "context": null,730 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addCollectionAdminExpectSuccess(Alice, collectionId, Bob);\nawait helpers_1.addToWhiteListExpectSuccess(Bob, collectionId, Charlie.address);",731 "err": {},732 "uuid": "64da9424-a2a1-4e24-bb62-9ec2a35b4620",733 "parentUUID": null,734 "isHook": false,735 "skipped": true736 },737 {738 "title": "Whitelisted minting: list restrictions",739 "fullTitle": "Integration Test ext. addToWhiteList() with collection admin permissions: Whitelisted minting: list restrictions",740 "timedOut": false,741 "duration": 0,742 "state": null,743 "speed": null,744 "pass": false,745 "fail": false,746 "pending": false,747 "context": null,748 "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);",749 "err": {},750 "uuid": "f5983173-28be-48b5-833e-f0092fca2815",751 "parentUUID": null,752 "isHook": false,753 "skipped": true754 }755 ],756 "suites": [],757 "passes": [],758 "failures": [],759 "pending": [],760 "skipped": [761 "0fd4da7d-13aa-4c8a-abb3-a62baf1eea08",762 "64da9424-a2a1-4e24-bb62-9ec2a35b4620",763 "f5983173-28be-48b5-833e-f0092fca2815"764 ],765 "duration": 0,766 "root": false,767 "rootEmpty": false,768 "_timeout": 9999999769 },770 {771 "uuid": "7ff1c1ae-0522-4644-82a6-b8c8f61aac78",772 "title": "Integration Test approve(spender, collection_id, item_id, amount):",773 "fullFile": "/nft_parachain/tests/src/approve.test.ts",774 "file": "/src/approve.test.ts",775 "beforeHooks": [776 {777 "title": "\"before all\" hook",778 "fullTitle": "Integration Test approve(spender, collection_id, item_id, amount): \"before all\" hook",779 "timedOut": false,780 "duration": 0,781 "state": null,782 "speed": null,783 "pass": false,784 "fail": false,785 "pending": false,786 "context": null,787 "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});",788 "err": {},789 "uuid": "8413cad1-b738-44b1-bc1e-894e8f250979",790 "parentUUID": null,791 "isHook": true,792 "skipped": false793 }794 ],795 "afterHooks": [],796 "tests": [797 {798 "title": "Execute the extrinsic and check approvedList",799 "fullTitle": "Integration Test approve(spender, collection_id, item_id, amount): Execute the extrinsic and check approvedList",800 "timedOut": false,801 "duration": 0,802 "state": null,803 "speed": null,804 "pass": false,805 "fail": false,806 "pending": false,807 "context": null,808 "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);",809 "err": {},810 "uuid": "58f34661-b685-46a5-b2fb-d62adacb20b9",811 "parentUUID": null,812 "isHook": false,813 "skipped": true814 },815 {816 "title": "Remove approval by using 0 amount",817 "fullTitle": "Integration Test approve(spender, collection_id, item_id, amount): Remove approval by using 0 amount",818 "timedOut": false,819 "duration": 0,820 "state": null,821 "speed": null,822 "pass": false,823 "fail": false,824 "pending": false,825 "context": null,826 "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);",827 "err": {},828 "uuid": "b4a52671-3927-444e-b297-1e87fb6a1e59",829 "parentUUID": null,830 "isHook": false,831 "skipped": true832 },833 {834 "title": "can be called by collection owner on non-owned item when OwnerCanTransfer == true",835 "fullTitle": "Integration Test approve(spender, collection_id, item_id, amount): can be called by collection owner on non-owned item when OwnerCanTransfer == true",836 "timedOut": false,837 "duration": 0,838 "state": null,839 "speed": null,840 "pass": false,841 "fail": false,842 "pending": false,843 "context": null,844 "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);",845 "err": {},846 "uuid": "07b9ce52-ffaa-44ed-af6e-a22d034ab1aa",847 "parentUUID": null,848 "isHook": false,849 "skipped": true850 }851 ],852 "suites": [],853 "passes": [],854 "failures": [],855 "pending": [],856 "skipped": [857 "58f34661-b685-46a5-b2fb-d62adacb20b9",858 "b4a52671-3927-444e-b297-1e87fb6a1e59",859 "07b9ce52-ffaa-44ed-af6e-a22d034ab1aa"860 ],861 "duration": 0,862 "root": false,863 "rootEmpty": false,864 "_timeout": 9999999865 },866 {867 "uuid": "bbd0d378-525f-4ca7-b117-9811069d2768",868 "title": "Negative Integration Test approve(spender, collection_id, item_id, amount):",869 "fullFile": "/nft_parachain/tests/src/approve.test.ts",870 "file": "/src/approve.test.ts",871 "beforeHooks": [872 {873 "title": "\"before all\" hook",874 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): \"before all\" hook",875 "timedOut": false,876 "duration": 0,877 "state": null,878 "speed": null,879 "pass": false,880 "fail": false,881 "pending": false,882 "context": null,883 "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});",884 "err": {},885 "uuid": "0e01d3cf-8db0-42a5-af2e-afea877962a8",886 "parentUUID": null,887 "isHook": true,888 "skipped": false889 }890 ],891 "afterHooks": [],892 "tests": [893 {894 "title": "Approve for a collection that does not exist",895 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): Approve for a collection that does not exist",896 "timedOut": false,897 "duration": 0,898 "state": null,899 "speed": null,900 "pass": false,901 "fail": false,902 "pending": false,903 "context": null,904 "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});",905 "err": {},906 "uuid": "57f2f5eb-c881-4963-8d9d-379b5cd553f0",907 "parentUUID": null,908 "isHook": false,909 "skipped": true910 },911 {912 "title": "Approve for a collection that was destroyed",913 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): Approve for a collection that was destroyed",914 "timedOut": false,915 "duration": 0,916 "state": null,917 "speed": null,918 "pass": false,919 "fail": false,920 "pending": false,921 "context": null,922 "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);",923 "err": {},924 "uuid": "38827096-3e94-4bcc-be0c-3b7c3ba7d69d",925 "parentUUID": null,926 "isHook": false,927 "skipped": true928 },929 {930 "title": "Approve transfer of a token that does not exist",931 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): Approve transfer of a token that does not exist",932 "timedOut": false,933 "duration": 0,934 "state": null,935 "speed": null,936 "pass": false,937 "fail": false,938 "pending": false,939 "context": null,940 "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);",941 "err": {},942 "uuid": "ad56e131-a17c-41e6-b1e2-63802f3ed386",943 "parentUUID": null,944 "isHook": false,945 "skipped": true946 },947 {948 "title": "Approve using the address that does not own the approved token",949 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): Approve using the address that does not own the approved token",950 "timedOut": false,951 "duration": 0,952 "state": null,953 "speed": null,954 "pass": false,955 "fail": false,956 "pending": false,957 "context": null,958 "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);",959 "err": {},960 "uuid": "b4820ad0-7f0e-4ec6-8aeb-e8ce85421337",961 "parentUUID": null,962 "isHook": false,963 "skipped": true964 },965 {966 "title": "should fail if approved more NFTs than owned",967 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): should fail if approved more NFTs than owned",968 "timedOut": false,969 "duration": 0,970 "state": null,971 "speed": null,972 "pass": false,973 "fail": false,974 "pending": false,975 "context": null,976 "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);",977 "err": {},978 "uuid": "8c124180-e9e6-400d-b8c2-c2c7d8fbb8fb",979 "parentUUID": null,980 "isHook": false,981 "skipped": true982 },983 {984 "title": "should fail if approved more ReFungibles than owned",985 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): should fail if approved more ReFungibles than owned",986 "timedOut": false,987 "duration": 0,988 "state": null,989 "speed": null,990 "pass": false,991 "fail": false,992 "pending": false,993 "context": null,994 "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);",995 "err": {},996 "uuid": "68f5b592-5b15-483b-93bf-2eaf69c9852c",997 "parentUUID": null,998 "isHook": false,999 "skipped": true1000 },1001 {1002 "title": "should fail if approved more Fungibles than owned",1003 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): should fail if approved more Fungibles than owned",1004 "timedOut": false,1005 "duration": 0,1006 "state": null,1007 "speed": null,1008 "pass": false,1009 "fail": false,1010 "pending": false,1011 "context": null,1012 "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);",1013 "err": {},1014 "uuid": "791a84c5-527a-416d-b3df-ff271c2e1b06",1015 "parentUUID": null,1016 "isHook": false,1017 "skipped": true1018 },1019 {1020 "title": "fails when called by collection owner on non-owned item when OwnerCanTransfer == false",1021 "fullTitle": "Negative Integration Test approve(spender, collection_id, item_id, amount): fails when called by collection owner on non-owned item when OwnerCanTransfer == false",1022 "timedOut": false,1023 "duration": 0,1024 "state": null,1025 "speed": null,1026 "pass": false,1027 "fail": false,1028 "pending": false,1029 "context": null,1030 "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);",1031 "err": {},1032 "uuid": "4f9a097e-535d-4a36-9373-245ee1a86171",1033 "parentUUID": null,1034 "isHook": false,1035 "skipped": true1036 }1037 ],1038 "suites": [],1039 "passes": [],1040 "failures": [],1041 "pending": [],1042 "skipped": [1043 "57f2f5eb-c881-4963-8d9d-379b5cd553f0",1044 "38827096-3e94-4bcc-be0c-3b7c3ba7d69d",1045 "ad56e131-a17c-41e6-b1e2-63802f3ed386",1046 "b4820ad0-7f0e-4ec6-8aeb-e8ce85421337",1047 "8c124180-e9e6-400d-b8c2-c2c7d8fbb8fb",1048 "68f5b592-5b15-483b-93bf-2eaf69c9852c",1049 "791a84c5-527a-416d-b3df-ff271c2e1b06",1050 "4f9a097e-535d-4a36-9373-245ee1a86171"1051 ],1052 "duration": 0,1053 "root": false,1054 "rootEmpty": false,1055 "_timeout": 99999991056 },1057 {1058 "uuid": "ffbd7ce9-1b21-4083-814b-9c633c3f15bb",1059 "title": "Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions:",1060 "fullFile": "/nft_parachain/tests/src/approve.test.ts",1061 "file": "/src/approve.test.ts",1062 "beforeHooks": [1063 {1064 "title": "\"before all\" hook",1065 "fullTitle": "Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions: \"before all\" hook",1066 "timedOut": false,1067 "duration": 0,1068 "state": null,1069 "speed": null,1070 "pass": false,1071 "fail": false,1072 "pending": false,1073 "context": null,1074 "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});",1075 "err": {},1076 "uuid": "6a7aa23b-1aae-4eac-88d9-26472e020fd3",1077 "parentUUID": null,1078 "isHook": true,1079 "skipped": false1080 }1081 ],1082 "afterHooks": [],1083 "tests": [1084 {1085 "title": "can be called by collection admin on non-owned item",1086 "fullTitle": "Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions: can be called by collection admin on non-owned item",1087 "timedOut": false,1088 "duration": 0,1089 "state": null,1090 "speed": null,1091 "pass": false,1092 "fail": false,1093 "pending": false,1094 "context": null,1095 "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);",1096 "err": {},1097 "uuid": "a31ccf62-8920-4e14-9b8d-bc74a0ca7566",1098 "parentUUID": null,1099 "isHook": false,1100 "skipped": true1101 }1102 ],1103 "suites": [],1104 "passes": [],1105 "failures": [],1106 "pending": [],1107 "skipped": [1108 "a31ccf62-8920-4e14-9b8d-bc74a0ca7566"1109 ],1110 "duration": 0,1111 "root": false,1112 "rootEmpty": false,1113 "_timeout": 99999991114 },1115 {1116 "uuid": "4d1d3346-8d28-4bd0-98d0-d2a6cac5608b",1117 "title": "Block Production smoke test",1118 "fullFile": "/nft_parachain/tests/src/block-production.test.ts",1119 "file": "/src/block-production.test.ts",1120 "beforeHooks": [],1121 "afterHooks": [],1122 "tests": [1123 {1124 "title": "Node produces new blocks",1125 "fullTitle": "Block Production smoke test Node produces new blocks",1126 "timedOut": false,1127 "duration": 0,1128 "state": null,1129 "speed": null,1130 "pass": false,1131 "fail": false,1132 "pending": false,1133 "context": null,1134 "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});",1135 "err": {},1136 "uuid": "44b68326-4b05-4eeb-beca-5994a2bec2fd",1137 "parentUUID": null,1138 "isHook": false,1139 "skipped": true1140 }1141 ],1142 "suites": [],1143 "passes": [],1144 "failures": [],1145 "pending": [],1146 "skipped": [1147 "44b68326-4b05-4eeb-beca-5994a2bec2fd"1148 ],1149 "duration": 0,1150 "root": false,1151 "rootEmpty": false,1152 "_timeout": 99999991153 },1154 {1155 "uuid": "31630dc0-1bc3-4608-9307-b6efb62d0b57",1156 "title": "integration test: ext. burnItem():",1157 "fullFile": "/nft_parachain/tests/src/burnItem.test.ts",1158 "file": "/src/burnItem.test.ts",1159 "beforeHooks": [1160 {1161 "title": "\"before all\" hook",1162 "fullTitle": "integration test: ext. burnItem(): \"before all\" hook",1163 "timedOut": false,1164 "duration": 0,1165 "state": null,1166 "speed": null,1167 "pass": false,1168 "fail": false,1169 "pending": false,1170 "context": null,1171 "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});",1172 "err": {},1173 "uuid": "106d90d4-57ff-46c4-8870-1c7fd149c0ab",1174 "parentUUID": null,1175 "isHook": true,1176 "skipped": false1177 }1178 ],1179 "afterHooks": [],1180 "tests": [1181 {1182 "title": "Burn item in NFT collection",1183 "fullTitle": "integration test: ext. burnItem(): Burn item in NFT collection",1184 "timedOut": false,1185 "duration": 0,1186 "state": null,1187 "speed": null,1188 "pass": false,1189 "fail": false,1190 "pending": false,1191 "context": null,1192 "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});",1193 "err": {},1194 "uuid": "db281de7-6da6-4d2d-9005-21e20a011fc2",1195 "parentUUID": null,1196 "isHook": false,1197 "skipped": true1198 },1199 {1200 "title": "Burn item in Fungible collection",1201 "fullTitle": "integration test: ext. burnItem(): Burn item in Fungible collection",1202 "timedOut": false,1203 "duration": 0,1204 "state": null,1205 "speed": null,1206 "pass": false,1207 "fail": false,1208 "pending": false,1209 "context": null,1210 "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});",1211 "err": {},1212 "uuid": "dcfdcd23-ef39-4a88-9bf1-74de618d7535",1213 "parentUUID": null,1214 "isHook": false,1215 "skipped": true1216 },1217 {1218 "title": "Burn item in ReFungible collection",1219 "fullTitle": "integration test: ext. burnItem(): Burn item in ReFungible collection",1220 "timedOut": false,1221 "duration": 0,1222 "state": null,1223 "speed": null,1224 "pass": false,1225 "fail": false,1226 "pending": false,1227 "context": null,1228 "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});",1229 "err": {},1230 "uuid": "30dfae18-db02-458d-91da-cd9ca371dabf",1231 "parentUUID": null,1232 "isHook": false,1233 "skipped": true1234 },1235 {1236 "title": "Burn owned portion of item in ReFungible collection",1237 "fullTitle": "integration test: ext. burnItem(): Burn owned portion of item in ReFungible collection",1238 "timedOut": false,1239 "duration": 0,1240 "state": null,1241 "speed": null,1242 "pass": false,1243 "fail": false,1244 "pending": false,1245 "context": null,1246 "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});",1247 "err": {},1248 "uuid": "fb1160e0-cf9c-4e27-96c2-353e01a09422",1249 "parentUUID": null,1250 "isHook": false,1251 "skipped": true1252 }1253 ],1254 "suites": [],1255 "passes": [],1256 "failures": [],1257 "pending": [],1258 "skipped": [1259 "db281de7-6da6-4d2d-9005-21e20a011fc2",1260 "dcfdcd23-ef39-4a88-9bf1-74de618d7535",1261 "30dfae18-db02-458d-91da-cd9ca371dabf",1262 "fb1160e0-cf9c-4e27-96c2-353e01a09422"1263 ],1264 "duration": 0,1265 "root": false,1266 "rootEmpty": false,1267 "_timeout": 99999991268 },1269 {1270 "uuid": "16273f03-1dd5-4058-a84a-cc4d6aa4832c",1271 "title": "integration test: ext. burnItem() with admin permissions:",1272 "fullFile": "/nft_parachain/tests/src/burnItem.test.ts",1273 "file": "/src/burnItem.test.ts",1274 "beforeHooks": [1275 {1276 "title": "\"before all\" hook",1277 "fullTitle": "integration test: ext. burnItem() with admin permissions: \"before all\" hook",1278 "timedOut": false,1279 "duration": 0,1280 "state": null,1281 "speed": null,1282 "pass": false,1283 "fail": false,1284 "pending": false,1285 "context": null,1286 "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});",1287 "err": {},1288 "uuid": "97633032-cfa2-424d-a9fd-74b7e9758ddd",1289 "parentUUID": null,1290 "isHook": true,1291 "skipped": false1292 }1293 ],1294 "afterHooks": [],1295 "tests": [1296 {1297 "title": "Burn item in NFT collection",1298 "fullTitle": "integration test: ext. burnItem() with admin permissions: Burn item in NFT collection",1299 "timedOut": false,1300 "duration": 0,1301 "state": null,1302 "speed": null,1303 "pass": false,1304 "fail": false,1305 "pending": false,1306 "context": null,1307 "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});",1308 "err": {},1309 "uuid": "b1fc4b6a-2a91-4fe7-b286-47e8aa974059",1310 "parentUUID": null,1311 "isHook": false,1312 "skipped": true1313 }1314 ],1315 "suites": [],1316 "passes": [],1317 "failures": [],1318 "pending": [],1319 "skipped": [1320 "b1fc4b6a-2a91-4fe7-b286-47e8aa974059"1321 ],1322 "duration": 0,1323 "root": false,1324 "rootEmpty": false,1325 "_timeout": 99999991326 },1327 {1328 "uuid": "452f3792-5d1a-4859-a360-cfffe0b60deb",1329 "title": "Negative integration test: ext. burnItem():",1330 "fullFile": "/nft_parachain/tests/src/burnItem.test.ts",1331 "file": "/src/burnItem.test.ts",1332 "beforeHooks": [1333 {1334 "title": "\"before all\" hook",1335 "fullTitle": "Negative integration test: ext. burnItem(): \"before all\" hook",1336 "timedOut": false,1337 "duration": 0,1338 "state": null,1339 "speed": null,1340 "pass": false,1341 "fail": false,1342 "pending": false,1343 "context": null,1344 "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});",1345 "err": {},1346 "uuid": "069a8925-8f20-4ec3-9704-f3150eda6653",1347 "parentUUID": null,1348 "isHook": true,1349 "skipped": false1350 }1351 ],1352 "afterHooks": [],1353 "tests": [1354 {1355 "title": "Burn a token in a destroyed collection",1356 "fullTitle": "Negative integration test: ext. burnItem(): Burn a token in a destroyed collection",1357 "timedOut": false,1358 "duration": 0,1359 "state": null,1360 "speed": null,1361 "pass": false,1362 "fail": false,1363 "pending": false,1364 "context": null,1365 "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});",1366 "err": {},1367 "uuid": "80c1a171-453f-4a6c-8b50-dd960a40599f",1368 "parentUUID": null,1369 "isHook": false,1370 "skipped": true1371 },1372 {1373 "title": "Burn a token that was never created",1374 "fullTitle": "Negative integration test: ext. burnItem(): Burn a token that was never created",1375 "timedOut": false,1376 "duration": 0,1377 "state": null,1378 "speed": null,1379 "pass": false,1380 "fail": false,1381 "pending": false,1382 "context": null,1383 "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});",1384 "err": {},1385 "uuid": "316a7d3b-76ac-43e5-af33-fc3be17131b6",1386 "parentUUID": null,1387 "isHook": false,1388 "skipped": true1389 },1390 {1391 "title": "Burn a token using the address that does not own it",1392 "fullTitle": "Negative integration test: ext. burnItem(): Burn a token using the address that does not own it",1393 "timedOut": false,1394 "duration": 0,1395 "state": null,1396 "speed": null,1397 "pass": false,1398 "fail": false,1399 "pending": false,1400 "context": null,1401 "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});",1402 "err": {},1403 "uuid": "91f485b0-7d62-4170-b47e-a4e982a2ff55",1404 "parentUUID": null,1405 "isHook": false,1406 "skipped": true1407 },1408 {1409 "title": "Transfer a burned a token",1410 "fullTitle": "Negative integration test: ext. burnItem(): Transfer a burned a token",1411 "timedOut": false,1412 "duration": 0,1413 "state": null,1414 "speed": null,1415 "pass": false,1416 "fail": false,1417 "pending": false,1418 "context": null,1419 "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});",1420 "err": {},1421 "uuid": "2ddeae42-6371-40cf-be36-54a3c3ae2b61",1422 "parentUUID": null,1423 "isHook": false,1424 "skipped": true1425 },1426 {1427 "title": "Burn more than owned in Fungible collection",1428 "fullTitle": "Negative integration test: ext. burnItem(): Burn more than owned in Fungible collection",1429 "timedOut": false,1430 "duration": 0,1431 "state": null,1432 "speed": null,1433 "pass": false,1434 "fail": false,1435 "pending": false,1436 "context": null,1437 "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});",1438 "err": {},1439 "uuid": "331fa2e2-1474-43f8-9e0d-fec071119639",1440 "parentUUID": null,1441 "isHook": false,1442 "skipped": true1443 }1444 ],1445 "suites": [],1446 "passes": [],1447 "failures": [],1448 "pending": [],1449 "skipped": [1450 "80c1a171-453f-4a6c-8b50-dd960a40599f",1451 "316a7d3b-76ac-43e5-af33-fc3be17131b6",1452 "91f485b0-7d62-4170-b47e-a4e982a2ff55",1453 "2ddeae42-6371-40cf-be36-54a3c3ae2b61",1454 "331fa2e2-1474-43f8-9e0d-fec071119639"1455 ],1456 "duration": 0,1457 "root": false,1458 "rootEmpty": false,1459 "_timeout": 99999991460 },1461 {1462 "uuid": "d9f0d67b-bfca-4457-958a-3ef539b093ca",1463 "title": "Integration Test changeCollectionOwner(collection_id, new_owner):",1464 "fullFile": "/nft_parachain/tests/src/change-collection-owner.test.ts",1465 "file": "/src/change-collection-owner.test.ts",1466 "beforeHooks": [],1467 "afterHooks": [],1468 "tests": [1469 {1470 "title": "Changing owner changes owner address",1471 "fullTitle": "Integration Test changeCollectionOwner(collection_id, new_owner): Changing owner changes owner address",1472 "timedOut": false,1473 "duration": 0,1474 "state": null,1475 "speed": null,1476 "pass": false,1477 "fail": false,1478 "pending": false,1479 "context": null,1480 "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});",1481 "err": {},1482 "uuid": "106c78ce-05ec-4455-bdac-c3ce51f7f62e",1483 "parentUUID": null,1484 "isHook": false,1485 "skipped": true1486 }1487 ],1488 "suites": [],1489 "passes": [],1490 "failures": [],1491 "pending": [],1492 "skipped": [1493 "106c78ce-05ec-4455-bdac-c3ce51f7f62e"1494 ],1495 "duration": 0,1496 "root": false,1497 "rootEmpty": false,1498 "_timeout": 99999991499 },1500 {1501 "uuid": "b0dfc56e-2c7e-4909-a8cd-3def915d0e8a",1502 "title": "Integration Test changeCollectionOwner(collection_id, new_owner) special checks for exOwner:",1503 "fullFile": "/nft_parachain/tests/src/change-collection-owner.test.ts",1504 "file": "/src/change-collection-owner.test.ts",1505 "beforeHooks": [],1506 "afterHooks": [],1507 "tests": [1508 {1509 "title": "Changing the owner of the collection is not allowed for the former owner",1510 "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",1511 "timedOut": false,1512 "duration": 0,1513 "state": null,1514 "speed": null,1515 "pass": false,1516 "fail": false,1517 "pending": false,1518 "context": null,1519 "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});",1520 "err": {},1521 "uuid": "f8e8a3fc-cb38-4a7b-972e-c228ecfc7a55",1522 "parentUUID": null,1523 "isHook": false,1524 "skipped": true1525 },1526 {1527 "title": "New collectionOwner has access to sponsorship management operations in the collection",1528 "fullTitle": "Integration Test changeCollectionOwner(collection_id, new_owner) special checks for exOwner: New collectionOwner has access to sponsorship management operations in the collection",1529 "timedOut": false,1530 "duration": 0,1531 "state": null,1532 "speed": null,1533 "pass": false,1534 "fail": false,1535 "pending": false,1536 "context": null,1537 "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});",1538 "err": {},1539 "uuid": "605404fb-8e36-4370-9f2f-658f09fb8e40",1540 "parentUUID": null,1541 "isHook": false,1542 "skipped": true1543 },1544 {1545 "title": "New collectionOwner has access to changeCollectionOwner",1546 "fullTitle": "Integration Test changeCollectionOwner(collection_id, new_owner) special checks for exOwner: New collectionOwner has access to changeCollectionOwner",1547 "timedOut": false,1548 "duration": 0,1549 "state": null,1550 "speed": null,1551 "pass": false,1552 "fail": false,1553 "pending": false,1554 "context": null,1555 "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});",1556 "err": {},1557 "uuid": "cfe9d4c1-0a65-4aea-94a6-90c097e01279",1558 "parentUUID": null,1559 "isHook": false,1560 "skipped": true1561 }1562 ],1563 "suites": [],1564 "passes": [],1565 "failures": [],1566 "pending": [],1567 "skipped": [1568 "f8e8a3fc-cb38-4a7b-972e-c228ecfc7a55",1569 "605404fb-8e36-4370-9f2f-658f09fb8e40",1570 "cfe9d4c1-0a65-4aea-94a6-90c097e01279"1571 ],1572 "duration": 0,1573 "root": false,1574 "rootEmpty": false,1575 "_timeout": 99999991576 },1577 {1578 "uuid": "95795b78-4a0b-4ce1-aabd-b1bebb9b68b7",1579 "title": "Negative Integration Test changeCollectionOwner(collection_id, new_owner):",1580 "fullFile": "/nft_parachain/tests/src/change-collection-owner.test.ts",1581 "file": "/src/change-collection-owner.test.ts",1582 "beforeHooks": [],1583 "afterHooks": [],1584 "tests": [1585 {1586 "title": "Not owner can't change owner.",1587 "fullTitle": "Negative Integration Test changeCollectionOwner(collection_id, new_owner): Not owner can't change owner.",1588 "timedOut": false,1589 "duration": 0,1590 "state": null,1591 "speed": null,1592 "pass": false,1593 "fail": false,1594 "pending": false,1595 "context": null,1596 "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});",1597 "err": {},1598 "uuid": "50601940-15a6-43fd-8e69-e9f15b4cd27b",1599 "parentUUID": null,1600 "isHook": false,1601 "skipped": true1602 },1603 {1604 "title": "Collection admin can't change owner.",1605 "fullTitle": "Negative Integration Test changeCollectionOwner(collection_id, new_owner): Collection admin can't change owner.",1606 "timedOut": false,1607 "duration": 0,1608 "state": null,1609 "speed": null,1610 "pass": false,1611 "fail": false,1612 "pending": false,1613 "context": null,1614 "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});",1615 "err": {},1616 "uuid": "0dfe81ed-ad93-4968-93aa-c0611841e925",1617 "parentUUID": null,1618 "isHook": false,1619 "skipped": true1620 },1621 {1622 "title": "Can't change owner of a non-existing collection.",1623 "fullTitle": "Negative Integration Test changeCollectionOwner(collection_id, new_owner): Can't change owner of a non-existing collection.",1624 "timedOut": false,1625 "duration": 0,1626 "state": null,1627 "speed": null,1628 "pass": false,1629 "fail": false,1630 "pending": false,1631 "context": null,1632 "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});",1633 "err": {},1634 "uuid": "a503acea-f020-48f7-babe-7b35dbe8b5e4",1635 "parentUUID": null,1636 "isHook": false,1637 "skipped": true1638 },1639 {1640 "title": "Former collectionOwner not allowed to sponsorship management operations in the collection",1641 "fullTitle": "Negative Integration Test changeCollectionOwner(collection_id, new_owner): Former collectionOwner not allowed to sponsorship management operations in the collection",1642 "timedOut": false,1643 "duration": 0,1644 "state": null,1645 "speed": null,1646 "pass": false,1647 "fail": false,1648 "pending": false,1649 "context": null,1650 "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});",1651 "err": {},1652 "uuid": "89038078-bfeb-4ae6-89ec-47a162b45901",1653 "parentUUID": null,1654 "isHook": false,1655 "skipped": true1656 }1657 ],1658 "suites": [],1659 "passes": [],1660 "failures": [],1661 "pending": [],1662 "skipped": [1663 "50601940-15a6-43fd-8e69-e9f15b4cd27b",1664 "0dfe81ed-ad93-4968-93aa-c0611841e925",1665 "a503acea-f020-48f7-babe-7b35dbe8b5e4",1666 "89038078-bfeb-4ae6-89ec-47a162b45901"1667 ],1668 "duration": 0,1669 "root": false,1670 "rootEmpty": false,1671 "_timeout": 99999991672 },1673 {1674 "uuid": "55f5e4e4-f4fb-4ad7-930e-665826d4cf36",1675 "title": "Burn Item event ",1676 "fullFile": "/nft_parachain/tests/src/check-event/burnItemEvent.test.ts",1677 "file": "/src/check-event/burnItemEvent.test.ts",1678 "beforeHooks": [1679 {1680 "title": "\"before all\" hook",1681 "fullTitle": "Burn Item event \"before all\" hook",1682 "timedOut": false,1683 "duration": 0,1684 "state": null,1685 "speed": null,1686 "pass": false,1687 "fail": false,1688 "pending": false,1689 "context": null,1690 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});",1691 "err": {},1692 "uuid": "1cd0ef23-8ba6-42e1-9f3b-c3c8b2507b93",1693 "parentUUID": null,1694 "isHook": true,1695 "skipped": false1696 }1697 ],1698 "afterHooks": [],1699 "tests": [1700 {1701 "title": "Check event from burnItem(): ",1702 "fullTitle": "Burn Item event Check event from burnItem(): ",1703 "timedOut": false,1704 "duration": 0,1705 "state": null,1706 "speed": null,1707 "pass": false,1708 "fail": false,1709 "pending": false,1710 "context": null,1711 "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});",1712 "err": {},1713 "uuid": "de5f50c1-af90-42df-93c3-2934badb6102",1714 "parentUUID": null,1715 "isHook": false,1716 "skipped": true1717 }1718 ],1719 "suites": [],1720 "passes": [],1721 "failures": [],1722 "pending": [],1723 "skipped": [1724 "de5f50c1-af90-42df-93c3-2934badb6102"1725 ],1726 "duration": 0,1727 "root": false,1728 "rootEmpty": false,1729 "_timeout": 99999991730 },1731 {1732 "uuid": "3878d237-7941-4f7d-9402-70c55b27ed0a",1733 "title": "Create collection event ",1734 "fullFile": "/nft_parachain/tests/src/check-event/createCollectionEvent.test.ts",1735 "file": "/src/check-event/createCollectionEvent.test.ts",1736 "beforeHooks": [1737 {1738 "title": "\"before all\" hook",1739 "fullTitle": "Create collection event \"before all\" hook",1740 "timedOut": false,1741 "duration": 0,1742 "state": null,1743 "speed": null,1744 "pass": false,1745 "fail": false,1746 "pending": false,1747 "context": null,1748 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});",1749 "err": {},1750 "uuid": "1df63224-8d83-4ad7-865e-380947ae6c9a",1751 "parentUUID": null,1752 "isHook": true,1753 "skipped": false1754 }1755 ],1756 "afterHooks": [],1757 "tests": [1758 {1759 "title": "Check event from createCollection(): ",1760 "fullTitle": "Create collection event Check event from createCollection(): ",1761 "timedOut": false,1762 "duration": 0,1763 "state": null,1764 "speed": null,1765 "pass": false,1766 "fail": false,1767 "pending": false,1768 "context": null,1769 "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});",1770 "err": {},1771 "uuid": "839bfe64-f4fa-4411-860f-f9efd40ed5db",1772 "parentUUID": null,1773 "isHook": false,1774 "skipped": true1775 }1776 ],1777 "suites": [],1778 "passes": [],1779 "failures": [],1780 "pending": [],1781 "skipped": [1782 "839bfe64-f4fa-4411-860f-f9efd40ed5db"1783 ],1784 "duration": 0,1785 "root": false,1786 "rootEmpty": false,1787 "_timeout": 99999991788 },1789 {1790 "uuid": "400efadc-b579-4d9f-976c-109ef146f79c",1791 "title": "Create Item event ",1792 "fullFile": "/nft_parachain/tests/src/check-event/createItemEvent.test.ts",1793 "file": "/src/check-event/createItemEvent.test.ts",1794 "beforeHooks": [1795 {1796 "title": "\"before all\" hook",1797 "fullTitle": "Create Item event \"before all\" hook",1798 "timedOut": false,1799 "duration": 0,1800 "state": null,1801 "speed": null,1802 "pass": false,1803 "fail": false,1804 "pending": false,1805 "context": null,1806 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});",1807 "err": {},1808 "uuid": "b67f0a1f-8a42-4364-a20d-e252defd1183",1809 "parentUUID": null,1810 "isHook": true,1811 "skipped": false1812 }1813 ],1814 "afterHooks": [],1815 "tests": [1816 {1817 "title": "Check event from createItem(): ",1818 "fullTitle": "Create Item event Check event from createItem(): ",1819 "timedOut": false,1820 "duration": 0,1821 "state": null,1822 "speed": null,1823 "pass": false,1824 "fail": false,1825 "pending": false,1826 "context": null,1827 "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});",1828 "err": {},1829 "uuid": "85d467a8-89df-4b5d-8cc1-0196eb9f93f5",1830 "parentUUID": null,1831 "isHook": false,1832 "skipped": true1833 }1834 ],1835 "suites": [],1836 "passes": [],1837 "failures": [],1838 "pending": [],1839 "skipped": [1840 "85d467a8-89df-4b5d-8cc1-0196eb9f93f5"1841 ],1842 "duration": 0,1843 "root": false,1844 "rootEmpty": false,1845 "_timeout": 99999991846 },1847 {1848 "uuid": "3b11cc06-de4c-4c51-a1fe-3f51dd00189e",1849 "title": "Create Multiple Items Event event ",1850 "fullFile": "/nft_parachain/tests/src/check-event/createMultipleItemsEvent.test.ts",1851 "file": "/src/check-event/createMultipleItemsEvent.test.ts",1852 "beforeHooks": [1853 {1854 "title": "\"before all\" hook",1855 "fullTitle": "Create Multiple Items Event event \"before all\" hook",1856 "timedOut": false,1857 "duration": 0,1858 "state": null,1859 "speed": null,1860 "pass": false,1861 "fail": false,1862 "pending": false,1863 "context": null,1864 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});",1865 "err": {},1866 "uuid": "ca3bcd24-41a8-4305-b378-e11c014b60c6",1867 "parentUUID": null,1868 "isHook": true,1869 "skipped": false1870 }1871 ],1872 "afterHooks": [],1873 "tests": [1874 {1875 "title": "Check event from createMultipleItems(): ",1876 "fullTitle": "Create Multiple Items Event event Check event from createMultipleItems(): ",1877 "timedOut": false,1878 "duration": 0,1879 "state": null,1880 "speed": null,1881 "pass": false,1882 "fail": false,1883 "pending": false,1884 "context": null,1885 "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});",1886 "err": {},1887 "uuid": "55b6d724-0365-4f9a-b8e4-9b033966390b",1888 "parentUUID": null,1889 "isHook": false,1890 "skipped": true1891 }1892 ],1893 "suites": [],1894 "passes": [],1895 "failures": [],1896 "pending": [],1897 "skipped": [1898 "55b6d724-0365-4f9a-b8e4-9b033966390b"1899 ],1900 "duration": 0,1901 "root": false,1902 "rootEmpty": false,1903 "_timeout": 99999991904 },1905 {1906 "uuid": "5bf9438d-76d2-4721-aeb3-173ec73ce3e4",1907 "title": "Destroy collection event ",1908 "fullFile": "/nft_parachain/tests/src/check-event/destroyCollectionEvent.test.ts",1909 "file": "/src/check-event/destroyCollectionEvent.test.ts",1910 "beforeHooks": [1911 {1912 "title": "\"before all\" hook",1913 "fullTitle": "Destroy collection event \"before all\" hook",1914 "timedOut": false,1915 "duration": 0,1916 "state": null,1917 "speed": null,1918 "pass": false,1919 "fail": false,1920 "pending": false,1921 "context": null,1922 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n});",1923 "err": {},1924 "uuid": "8466e150-ec40-4916-8b9d-40ed46043246",1925 "parentUUID": null,1926 "isHook": true,1927 "skipped": false1928 }1929 ],1930 "afterHooks": [],1931 "tests": [1932 {1933 "title": "Check event from destroyCollection(): ",1934 "fullTitle": "Destroy collection event Check event from destroyCollection(): ",1935 "timedOut": false,1936 "duration": 0,1937 "state": null,1938 "speed": null,1939 "pass": false,1940 "fail": false,1941 "pending": false,1942 "context": null,1943 "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});",1944 "err": {},1945 "uuid": "39b42382-7bc8-4552-92a2-cb34b6c1c7be",1946 "parentUUID": null,1947 "isHook": false,1948 "skipped": true1949 }1950 ],1951 "suites": [],1952 "passes": [],1953 "failures": [],1954 "pending": [],1955 "skipped": [1956 "39b42382-7bc8-4552-92a2-cb34b6c1c7be"1957 ],1958 "duration": 0,1959 "root": false,1960 "rootEmpty": false,1961 "_timeout": 99999991962 },1963 {1964 "uuid": "97c4b3e9-85ed-4a1a-947e-6e3984151fdd",1965 "title": "Transfer event ",1966 "fullFile": "/nft_parachain/tests/src/check-event/transferEvent.test.ts",1967 "file": "/src/check-event/transferEvent.test.ts",1968 "beforeHooks": [1969 {1970 "title": "\"before all\" hook",1971 "fullTitle": "Transfer event \"before all\" hook",1972 "timedOut": false,1973 "duration": 0,1974 "state": null,1975 "speed": null,1976 "pass": false,1977 "fail": false,1978 "pending": false,1979 "context": null,1980 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",1981 "err": {},1982 "uuid": "de4cf4d9-1530-4052-8115-ab14d42cc92a",1983 "parentUUID": null,1984 "isHook": true,1985 "skipped": false1986 }1987 ],1988 "afterHooks": [],1989 "tests": [1990 {1991 "title": "Check event from transfer(): ",1992 "fullTitle": "Transfer event Check event from transfer(): ",1993 "timedOut": false,1994 "duration": 0,1995 "state": null,1996 "speed": null,1997 "pass": false,1998 "fail": false,1999 "pending": false,2000 "context": null,2001 "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});",2002 "err": {},2003 "uuid": "e6598d9d-b6b2-4e48-8525-f6abba53d30b",2004 "parentUUID": null,2005 "isHook": false,2006 "skipped": true2007 }2008 ],2009 "suites": [],2010 "passes": [],2011 "failures": [],2012 "pending": [],2013 "skipped": [2014 "e6598d9d-b6b2-4e48-8525-f6abba53d30b"2015 ],2016 "duration": 0,2017 "root": false,2018 "rootEmpty": false,2019 "_timeout": 99999992020 },2021 {2022 "uuid": "9f3352a8-e9c4-43a8-9086-50a563ee5eee",2023 "title": "Transfer from event ",2024 "fullFile": "/nft_parachain/tests/src/check-event/transferFromEvent.test.ts",2025 "file": "/src/check-event/transferFromEvent.test.ts",2026 "beforeHooks": [2027 {2028 "title": "\"before all\" hook",2029 "fullTitle": "Transfer from event \"before all\" hook",2030 "timedOut": false,2031 "duration": 0,2032 "state": null,2033 "speed": null,2034 "pass": false,2035 "fail": false,2036 "pending": false,2037 "context": null,2038 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",2039 "err": {},2040 "uuid": "4a46b244-6070-497d-bcd1-33582dd9b4a8",2041 "parentUUID": null,2042 "isHook": true,2043 "skipped": false2044 }2045 ],2046 "afterHooks": [],2047 "tests": [2048 {2049 "title": "Check event from transferFrom(): ",2050 "fullTitle": "Transfer from event Check event from transferFrom(): ",2051 "timedOut": false,2052 "duration": 0,2053 "state": null,2054 "speed": null,2055 "pass": false,2056 "fail": false,2057 "pending": false,2058 "context": null,2059 "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});",2060 "err": {},2061 "uuid": "fb883220-daa6-4a72-994b-9bc040bfbab5",2062 "parentUUID": null,2063 "isHook": false,2064 "skipped": true2065 }2066 ],2067 "suites": [],2068 "passes": [],2069 "failures": [],2070 "pending": [],2071 "skipped": [2072 "fb883220-daa6-4a72-994b-9bc040bfbab5"2073 ],2074 "duration": 0,2075 "root": false,2076 "rootEmpty": false,2077 "_timeout": 99999992078 },2079 {2080 "uuid": "82e9f645-db19-47cc-9d86-b840fec2a2b3",2081 "title": "Deleting a collection while add address to whitelist: ",2082 "fullFile": "/nft_parachain/tests/src/collision-tests/adminDestroyCollection.test.ts",2083 "file": "/src/collision-tests/adminDestroyCollection.test.ts",2084 "beforeHooks": [],2085 "afterHooks": [],2086 "tests": [2087 {2088 "title": "Adding an address to the collection whitelist in a block by the admin, and deleting the collection by the owner ",2089 "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 ",2090 "timedOut": false,2091 "duration": 0,2092 "state": null,2093 "speed": null,2094 "pass": false,2095 "fail": false,2096 "pending": false,2097 "context": null,2098 "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});",2099 "err": {},2100 "uuid": "cd163573-90a0-4ccd-8a1f-eb8335357a70",2101 "parentUUID": null,2102 "isHook": false,2103 "skipped": true2104 }2105 ],2106 "suites": [],2107 "passes": [],2108 "failures": [],2109 "pending": [],2110 "skipped": [2111 "cd163573-90a0-4ccd-8a1f-eb8335357a70"2112 ],2113 "duration": 0,2114 "root": false,2115 "rootEmpty": false,2116 "_timeout": 99999992117 },2118 {2119 "uuid": "fb3e573e-5ef7-48e5-b965-25da2f42c9b5",2120 "title": "Admin limit exceeded collection: ",2121 "fullFile": "/nft_parachain/tests/src/collision-tests/adminLimitsOff.test.ts",2122 "file": "/src/collision-tests/adminLimitsOff.test.ts",2123 "beforeHooks": [],2124 "afterHooks": [],2125 "tests": [2126 {2127 "title": "In one block, the owner and admin add new admins to the collection more than the limit ",2128 "fullTitle": "Admin limit exceeded collection: In one block, the owner and admin add new admins to the collection more than the limit ",2129 "timedOut": false,2130 "duration": 0,2131 "state": null,2132 "speed": null,2133 "pass": false,2134 "fail": false,2135 "pending": false,2136 "context": null,2137 "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});",2138 "err": {},2139 "uuid": "c640aa10-0120-452d-b162-4a2c6f356f7f",2140 "parentUUID": null,2141 "isHook": false,2142 "skipped": true2143 }2144 ],2145 "suites": [],2146 "passes": [],2147 "failures": [],2148 "pending": [],2149 "skipped": [2150 "c640aa10-0120-452d-b162-4a2c6f356f7f"2151 ],2152 "duration": 0,2153 "root": false,2154 "rootEmpty": false,2155 "_timeout": 99999992156 },2157 {2158 "uuid": "8cce881e-bbaf-4146-8d8f-006fcca425db",2159 "title": "Deprivation of admin rights: ",2160 "fullFile": "/nft_parachain/tests/src/collision-tests/adminRightsOff.test.ts",2161 "file": "/src/collision-tests/adminRightsOff.test.ts",2162 "beforeHooks": [],2163 "afterHooks": [],2164 "tests": [2165 {2166 "title": "In the block, the collection admin adds a token or changes data, and the collection owner deprives the admin of rights ",2167 "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 ",2168 "timedOut": false,2169 "duration": 0,2170 "state": null,2171 "speed": null,2172 "pass": false,2173 "fail": false,2174 "pending": false,2175 "context": null,2176 "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});",2177 "err": {},2178 "uuid": "4e2db444-8992-4e8c-99bd-2e457e34490b",2179 "parentUUID": null,2180 "isHook": false,2181 "skipped": true2182 }2183 ],2184 "suites": [],2185 "passes": [],2186 "failures": [],2187 "pending": [],2188 "skipped": [2189 "4e2db444-8992-4e8c-99bd-2e457e34490b"2190 ],2191 "duration": 0,2192 "root": false,2193 "rootEmpty": false,2194 "_timeout": 99999992195 },2196 {2197 "uuid": "e166ac25-fe9e-4b1d-bb76-6d3e69af3c78",2198 "title": "Admin vs Owner changes token: ",2199 "fullFile": "/nft_parachain/tests/src/collision-tests/admVsOwnerChanges.test.ts",2200 "file": "/src/collision-tests/admVsOwnerChanges.test.ts",2201 "beforeHooks": [],2202 "afterHooks": [],2203 "tests": [2204 {2205 "title": "The collection admin changes the owner of the token and in the same block the current owner transfers the token to another address ",2206 "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 ",2207 "timedOut": false,2208 "duration": 0,2209 "state": null,2210 "speed": null,2211 "pass": false,2212 "fail": false,2213 "pending": false,2214 "context": null,2215 "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});",2216 "err": {},2217 "uuid": "27b84ed9-5b8c-466e-bd56-0775187d9d84",2218 "parentUUID": null,2219 "isHook": false,2220 "skipped": true2221 }2222 ],2223 "suites": [],2224 "passes": [],2225 "failures": [],2226 "pending": [],2227 "skipped": [2228 "27b84ed9-5b8c-466e-bd56-0775187d9d84"2229 ],2230 "duration": 0,2231 "root": false,2232 "rootEmpty": false,2233 "_timeout": 99999992234 },2235 {2236 "uuid": "6939e386-9b18-4f40-9a94-dd723b626a2d",2237 "title": "Admin vs Owner changes the data in the token: ",2238 "fullFile": "/nft_parachain/tests/src/collision-tests/admVsOwnerData.test.ts",2239 "file": "/src/collision-tests/admVsOwnerData.test.ts",2240 "beforeHooks": [],2241 "afterHooks": [],2242 "tests": [2243 {2244 "title": "The collection admin changes the data in the token and in the same block the token owner also changes the data in it ",2245 "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 ",2246 "timedOut": false,2247 "duration": 0,2248 "state": null,2249 "speed": null,2250 "pass": false,2251 "fail": false,2252 "pending": false,2253 "context": null,2254 "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});",2255 "err": {},2256 "uuid": "c5a847a2-b5d4-4507-8c0b-8046d987094b",2257 "parentUUID": null,2258 "isHook": false,2259 "skipped": true2260 }2261 ],2262 "suites": [],2263 "passes": [],2264 "failures": [],2265 "pending": [],2266 "skipped": [2267 "c5a847a2-b5d4-4507-8c0b-8046d987094b"2268 ],2269 "duration": 0,2270 "root": false,2271 "rootEmpty": false,2272 "_timeout": 99999992273 },2274 {2275 "uuid": "cde93d62-bcf0-4cdd-a2a8-cb94d55b17e3",2276 "title": "Admin vs Owner take token: ",2277 "fullFile": "/nft_parachain/tests/src/collision-tests/admVsOwnerTake.test.ts",2278 "file": "/src/collision-tests/admVsOwnerTake.test.ts",2279 "beforeHooks": [],2280 "afterHooks": [],2281 "tests": [2282 {2283 "title": "The collection admin burns the token and in the same block the token owner performs a transaction on it ",2284 "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 ",2285 "timedOut": false,2286 "duration": 0,2287 "state": null,2288 "speed": null,2289 "pass": false,2290 "fail": false,2291 "pending": false,2292 "context": null,2293 "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});",2294 "err": {},2295 "uuid": "a7a52e31-98d9-45ae-9ac4-ed5de7ab8813",2296 "parentUUID": null,2297 "isHook": false,2298 "skipped": true2299 }2300 ],2301 "suites": [],2302 "passes": [],2303 "failures": [],2304 "pending": [],2305 "skipped": [2306 "a7a52e31-98d9-45ae-9ac4-ed5de7ab8813"2307 ],2308 "duration": 0,2309 "root": false,2310 "rootEmpty": false,2311 "_timeout": 99999992312 },2313 {2314 "uuid": "4d7194c7-81f8-4360-aca3-7b76daacc991",2315 "title": "Sponsored with new owner ",2316 "fullFile": "/nft_parachain/tests/src/collision-tests/setSponsorNewOwner.test.ts",2317 "file": "/src/collision-tests/setSponsorNewOwner.test.ts",2318 "beforeHooks": [],2319 "afterHooks": [],2320 "tests": [2321 {2322 "title": "Confirmation of sponsorship of a collection in a block with a change in the owner of the collection: ",2323 "fullTitle": "Sponsored with new owner Confirmation of sponsorship of a collection in a block with a change in the owner of the collection: ",2324 "timedOut": false,2325 "duration": 0,2326 "state": null,2327 "speed": null,2328 "pass": false,2329 "fail": false,2330 "pending": false,2331 "context": null,2332 "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});",2333 "err": {},2334 "uuid": "0aa8b150-ae6a-492d-ae2a-a0cf97b67b83",2335 "parentUUID": null,2336 "isHook": false,2337 "skipped": true2338 }2339 ],2340 "suites": [],2341 "passes": [],2342 "failures": [],2343 "pending": [],2344 "skipped": [2345 "0aa8b150-ae6a-492d-ae2a-a0cf97b67b83"2346 ],2347 "duration": 0,2348 "root": false,2349 "rootEmpty": false,2350 "_timeout": 99999992351 },2352 {2353 "uuid": "c2823806-a267-4156-a25c-67f011de6be0",2354 "title": "Payment of commission if one block: ",2355 "fullFile": "/nft_parachain/tests/src/collision-tests/sponsorPayments.test.ts",2356 "file": "/src/collision-tests/sponsorPayments.test.ts",2357 "beforeHooks": [],2358 "afterHooks": [],2359 "tests": [2360 {2361 "title": "Payment of commission if one block contains transactions for payment from the sponsor's balance and his (sponsor's) exclusion from the collection ",2362 "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 ",2363 "timedOut": false,2364 "duration": 0,2365 "state": null,2366 "speed": null,2367 "pass": false,2368 "fail": false,2369 "pending": false,2370 "context": null,2371 "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});",2372 "err": {},2373 "uuid": "f6b9cccb-f110-4593-ab4c-a952cd22e29d",2374 "parentUUID": null,2375 "isHook": false,2376 "skipped": true2377 }2378 ],2379 "suites": [],2380 "passes": [],2381 "failures": [],2382 "pending": [],2383 "skipped": [2384 "f6b9cccb-f110-4593-ab4c-a952cd22e29d"2385 ],2386 "duration": 0,2387 "root": false,2388 "rootEmpty": false,2389 "_timeout": 99999992390 },2391 {2392 "uuid": "e269ff0c-dc84-41c5-aac7-4ad5587db8c7",2393 "title": "Token limit exceeded collection: ",2394 "fullFile": "/nft_parachain/tests/src/collision-tests/tokenLimitsOff.test.ts",2395 "file": "/src/collision-tests/tokenLimitsOff.test.ts",2396 "beforeHooks": [],2397 "afterHooks": [],2398 "tests": [2399 {2400 "title": "The number of tokens created in the collection from different addresses exceeds the allowed collection limit ",2401 "fullTitle": "Token limit exceeded collection: The number of tokens created in the collection from different addresses exceeds the allowed collection limit ",2402 "timedOut": false,2403 "duration": 0,2404 "state": null,2405 "speed": null,2406 "pass": false,2407 "fail": false,2408 "pending": false,2409 "context": null,2410 "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});",2411 "err": {},2412 "uuid": "91e83b7d-2a17-4a68-b90a-0c5e18f631fd",2413 "parentUUID": null,2414 "isHook": false,2415 "skipped": true2416 }2417 ],2418 "suites": [],2419 "passes": [],2420 "failures": [],2421 "pending": [],2422 "skipped": [2423 "91e83b7d-2a17-4a68-b90a-0c5e18f631fd"2424 ],2425 "duration": 0,2426 "root": false,2427 "rootEmpty": false,2428 "_timeout": 99999992429 },2430 {2431 "uuid": "5de00d4a-8d19-4f86-9cb4-5a2c6282dcc4",2432 "title": "Turns off minting mode: ",2433 "fullFile": "/nft_parachain/tests/src/collision-tests/turnsOffMinting.test.ts",2434 "file": "/src/collision-tests/turnsOffMinting.test.ts",2435 "beforeHooks": [],2436 "afterHooks": [],2437 "tests": [2438 {2439 "title": "The collection owner turns off minting mode and there are minting transactions in the same block ",2440 "fullTitle": "Turns off minting mode: The collection owner turns off minting mode and there are minting transactions in the same block ",2441 "timedOut": false,2442 "duration": 0,2443 "state": null,2444 "speed": null,2445 "pass": false,2446 "fail": false,2447 "pending": false,2448 "context": null,2449 "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});",2450 "err": {},2451 "uuid": "6040e71a-673f-40ae-8e89-53fe146b9821",2452 "parentUUID": null,2453 "isHook": false,2454 "skipped": true2455 }2456 ],2457 "suites": [],2458 "passes": [],2459 "failures": [],2460 "pending": [],2461 "skipped": [2462 "6040e71a-673f-40ae-8e89-53fe146b9821"2463 ],2464 "duration": 0,2465 "root": false,2466 "rootEmpty": false,2467 "_timeout": 99999992468 },2469 {2470 "uuid": "766dec6b-db31-4e6a-8bb4-22ee7c8aa73e",2471 "title": "integration test: ext. confirmSponsorship():",2472 "fullFile": "/nft_parachain/tests/src/confirmSponsorship.test.ts",2473 "file": "/src/confirmSponsorship.test.ts",2474 "beforeHooks": [2475 {2476 "title": "\"before all\" hook",2477 "fullTitle": "integration test: ext. confirmSponsorship(): \"before all\" hook",2478 "timedOut": false,2479 "duration": 0,2480 "state": null,2481 "speed": null,2482 "pass": false,2483 "fail": false,2484 "pending": false,2485 "context": null,2486 "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});",2487 "err": {},2488 "uuid": "b4286b27-ec55-496e-a1f7-6c9a8189ea51",2489 "parentUUID": null,2490 "isHook": true,2491 "skipped": false2492 }2493 ],2494 "afterHooks": [],2495 "tests": [2496 {2497 "title": "Confirm collection sponsorship",2498 "fullTitle": "integration test: ext. confirmSponsorship(): Confirm collection sponsorship",2499 "timedOut": false,2500 "duration": 0,2501 "state": null,2502 "speed": null,2503 "pass": false,2504 "fail": false,2505 "pending": false,2506 "context": null,2507 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectSuccess(collectionId, '//Bob');",2508 "err": {},2509 "uuid": "c785a61c-949d-48c4-82ee-4e7d03ab6683",2510 "parentUUID": null,2511 "isHook": false,2512 "skipped": true2513 },2514 {2515 "title": "Add sponsor to a collection after the same sponsor was already added and confirmed",2516 "fullTitle": "integration test: ext. confirmSponsorship(): Add sponsor to a collection after the same sponsor was already added and confirmed",2517 "timedOut": false,2518 "duration": 0,2519 "state": null,2520 "speed": null,2521 "pass": false,2522 "fail": false,2523 "pending": false,2524 "context": null,2525 "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);",2526 "err": {},2527 "uuid": "4c8ba9f7-5223-4e94-984d-dc13ee0fc326",2528 "parentUUID": null,2529 "isHook": false,2530 "skipped": true2531 },2532 {2533 "title": "Add new sponsor to a collection after another sponsor was already added and confirmed",2534 "fullTitle": "integration test: ext. confirmSponsorship(): Add new sponsor to a collection after another sponsor was already added and confirmed",2535 "timedOut": false,2536 "duration": 0,2537 "state": null,2538 "speed": null,2539 "pass": false,2540 "fail": false,2541 "pending": false,2542 "context": null,2543 "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);",2544 "err": {},2545 "uuid": "a9148812-c2fa-490d-b5da-3386918aca3e",2546 "parentUUID": null,2547 "isHook": false,2548 "skipped": true2549 },2550 {2551 "title": "NFT: Transfer fees are paid by the sponsor after confirmation",2552 "fullTitle": "integration test: ext. confirmSponsorship(): NFT: Transfer fees are paid by the sponsor after confirmation",2553 "timedOut": false,2554 "duration": 0,2555 "state": null,2556 "speed": null,2557 "pass": false,2558 "fail": false,2559 "pending": false,2560 "context": null,2561 "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});",2562 "err": {},2563 "uuid": "9d5c80ab-b396-4d32-89ce-e0a05105ebb1",2564 "parentUUID": null,2565 "isHook": false,2566 "skipped": true2567 },2568 {2569 "title": "Fungible: Transfer fees are paid by the sponsor after confirmation",2570 "fullTitle": "integration test: ext. confirmSponsorship(): Fungible: Transfer fees are paid by the sponsor after confirmation",2571 "timedOut": false,2572 "duration": 0,2573 "state": null,2574 "speed": null,2575 "pass": false,2576 "fail": false,2577 "pending": false,2578 "context": null,2579 "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});",2580 "err": {},2581 "uuid": "59ba5ffb-0029-4374-962d-79b49bc98ed0",2582 "parentUUID": null,2583 "isHook": false,2584 "skipped": true2585 },2586 {2587 "title": "ReFungible: Transfer fees are paid by the sponsor after confirmation",2588 "fullTitle": "integration test: ext. confirmSponsorship(): ReFungible: Transfer fees are paid by the sponsor after confirmation",2589 "timedOut": false,2590 "duration": 0,2591 "state": null,2592 "speed": null,2593 "pass": false,2594 "fail": false,2595 "pending": false,2596 "context": null,2597 "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});",2598 "err": {},2599 "uuid": "1b0854b2-3545-4b50-9d6d-5147d5ee4674",2600 "parentUUID": null,2601 "isHook": false,2602 "skipped": true2603 },2604 {2605 "title": "CreateItem fees are paid by the sponsor after confirmation",2606 "fullTitle": "integration test: ext. confirmSponsorship(): CreateItem fees are paid by the sponsor after confirmation",2607 "timedOut": false,2608 "duration": 0,2609 "state": null,2610 "speed": null,2611 "pass": false,2612 "fail": false,2613 "pending": false,2614 "context": null,2615 "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});",2616 "err": {},2617 "uuid": "4971b24f-c530-424f-8564-373c9ceb0387",2618 "parentUUID": null,2619 "isHook": false,2620 "skipped": true2621 },2622 {2623 "title": "NFT: Sponsoring of transfers is rate limited",2624 "fullTitle": "integration test: ext. confirmSponsorship(): NFT: Sponsoring of transfers is rate limited",2625 "timedOut": false,2626 "duration": 0,2627 "state": null,2628 "speed": null,2629 "pass": false,2630 "fail": false,2631 "pending": false,2632 "context": null,2633 "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});",2634 "err": {},2635 "uuid": "d9644e67-7f38-4fbe-8b30-72036d7f6038",2636 "parentUUID": null,2637 "isHook": false,2638 "skipped": true2639 },2640 {2641 "title": "Fungible: Sponsoring is rate limited",2642 "fullTitle": "integration test: ext. confirmSponsorship(): Fungible: Sponsoring is rate limited",2643 "timedOut": false,2644 "duration": 0,2645 "state": null,2646 "speed": null,2647 "pass": false,2648 "fail": false,2649 "pending": false,2650 "context": null,2651 "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});",2652 "err": {},2653 "uuid": "258524bd-66ff-4227-8225-59b08893ad3b",2654 "parentUUID": null,2655 "isHook": false,2656 "skipped": true2657 },2658 {2659 "title": "ReFungible: Sponsoring is rate limited",2660 "fullTitle": "integration test: ext. confirmSponsorship(): ReFungible: Sponsoring is rate limited",2661 "timedOut": false,2662 "duration": 0,2663 "state": null,2664 "speed": null,2665 "pass": false,2666 "fail": false,2667 "pending": false,2668 "context": null,2669 "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});",2670 "err": {},2671 "uuid": "48f50d22-3286-43cb-a84b-a74d393ec548",2672 "parentUUID": null,2673 "isHook": false,2674 "skipped": true2675 },2676 {2677 "title": "NFT: Sponsoring of createItem is rate limited",2678 "fullTitle": "integration test: ext. confirmSponsorship(): NFT: Sponsoring of createItem is rate limited",2679 "timedOut": false,2680 "duration": 0,2681 "state": null,2682 "speed": null,2683 "pass": false,2684 "fail": false,2685 "pending": false,2686 "context": null,2687 "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});",2688 "err": {},2689 "uuid": "32f2965d-0780-4b43-86fc-67a271e1ff30",2690 "parentUUID": null,2691 "isHook": false,2692 "skipped": true2693 }2694 ],2695 "suites": [],2696 "passes": [],2697 "failures": [],2698 "pending": [],2699 "skipped": [2700 "c785a61c-949d-48c4-82ee-4e7d03ab6683",2701 "4c8ba9f7-5223-4e94-984d-dc13ee0fc326",2702 "a9148812-c2fa-490d-b5da-3386918aca3e",2703 "9d5c80ab-b396-4d32-89ce-e0a05105ebb1",2704 "59ba5ffb-0029-4374-962d-79b49bc98ed0",2705 "1b0854b2-3545-4b50-9d6d-5147d5ee4674",2706 "4971b24f-c530-424f-8564-373c9ceb0387",2707 "d9644e67-7f38-4fbe-8b30-72036d7f6038",2708 "258524bd-66ff-4227-8225-59b08893ad3b",2709 "48f50d22-3286-43cb-a84b-a74d393ec548",2710 "32f2965d-0780-4b43-86fc-67a271e1ff30"2711 ],2712 "duration": 0,2713 "root": false,2714 "rootEmpty": false,2715 "_timeout": 99999992716 },2717 {2718 "uuid": "88813bee-d3e9-4529-938f-39a104c2bf5f",2719 "title": "(!negative test!) integration test: ext. confirmSponsorship():",2720 "fullFile": "/nft_parachain/tests/src/confirmSponsorship.test.ts",2721 "file": "/src/confirmSponsorship.test.ts",2722 "beforeHooks": [2723 {2724 "title": "\"before all\" hook",2725 "fullTitle": "(!negative test!) integration test: ext. confirmSponsorship(): \"before all\" hook",2726 "timedOut": false,2727 "duration": 0,2728 "state": null,2729 "speed": null,2730 "pass": false,2731 "fail": false,2732 "pending": false,2733 "context": null,2734 "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});",2735 "err": {},2736 "uuid": "39ec5fac-f548-4199-aaf5-4e22a0ad6f54",2737 "parentUUID": null,2738 "isHook": true,2739 "skipped": false2740 }2741 ],2742 "afterHooks": [],2743 "tests": [2744 {2745 "title": "(!negative test!) Confirm sponsorship for a collection that never existed",2746 "fullTitle": "(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship for a collection that never existed",2747 "timedOut": false,2748 "duration": 0,2749 "state": null,2750 "speed": null,2751 "pass": false,2752 "fail": false,2753 "pending": false,2754 "context": null,2755 "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');",2756 "err": {},2757 "uuid": "973687a1-333a-40e3-924d-2408e5de9501",2758 "parentUUID": null,2759 "isHook": false,2760 "skipped": true2761 },2762 {2763 "title": "(!negative test!) Confirm sponsorship using a non-sponsor address",2764 "fullTitle": "(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship using a non-sponsor address",2765 "timedOut": false,2766 "duration": 0,2767 "state": null,2768 "speed": null,2769 "pass": false,2770 "fail": false,2771 "pending": false,2772 "context": null,2773 "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');",2774 "err": {},2775 "uuid": "e37becf5-1cf7-451b-a7a7-9fabc4a12391",2776 "parentUUID": null,2777 "isHook": false,2778 "skipped": true2779 },2780 {2781 "title": "(!negative test!) Confirm sponsorship using owner address",2782 "fullTitle": "(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship using owner address",2783 "timedOut": false,2784 "duration": 0,2785 "state": null,2786 "speed": null,2787 "pass": false,2788 "fail": false,2789 "pending": false,2790 "context": null,2791 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Alice');",2792 "err": {},2793 "uuid": "36d28ed5-82ad-4257-9734-554e5a9ec508",2794 "parentUUID": null,2795 "isHook": false,2796 "skipped": true2797 },2798 {2799 "title": "(!negative test!) Confirm sponsorship by collection admin",2800 "fullTitle": "(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship by collection admin",2801 "timedOut": false,2802 "duration": 0,2803 "state": null,2804 "speed": null,2805 "pass": false,2806 "fail": false,2807 "pending": false,2808 "context": null,2809 "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');",2810 "err": {},2811 "uuid": "9aee7e92-89f3-461b-b74b-c22d18a5a8ab",2812 "parentUUID": null,2813 "isHook": false,2814 "skipped": true2815 },2816 {2817 "title": "(!negative test!) Confirm sponsorship without sponsor being set with setCollectionSponsor",2818 "fullTitle": "(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship without sponsor being set with setCollectionSponsor",2819 "timedOut": false,2820 "duration": 0,2821 "state": null,2822 "speed": null,2823 "pass": false,2824 "fail": false,2825 "pending": false,2826 "context": null,2827 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Bob');",2828 "err": {},2829 "uuid": "43dcb5ee-e6a2-496e-9323-c497a9de08c9",2830 "parentUUID": null,2831 "isHook": false,2832 "skipped": true2833 },2834 {2835 "title": "(!negative test!) Confirm sponsorship in a collection that was destroyed",2836 "fullTitle": "(!negative test!) integration test: ext. confirmSponsorship(): (!negative test!) Confirm sponsorship in a collection that was destroyed",2837 "timedOut": false,2838 "duration": 0,2839 "state": null,2840 "speed": null,2841 "pass": false,2842 "fail": false,2843 "pending": false,2844 "context": null,2845 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.confirmSponsorshipExpectFailure(collectionId, '//Bob');",2846 "err": {},2847 "uuid": "85c85227-5b3b-4053-9933-f98fa8f3626e",2848 "parentUUID": null,2849 "isHook": false,2850 "skipped": true2851 }2852 ],2853 "suites": [],2854 "passes": [],2855 "failures": [],2856 "pending": [],2857 "skipped": [2858 "973687a1-333a-40e3-924d-2408e5de9501",2859 "e37becf5-1cf7-451b-a7a7-9fabc4a12391",2860 "36d28ed5-82ad-4257-9734-554e5a9ec508",2861 "9aee7e92-89f3-461b-b74b-c22d18a5a8ab",2862 "43dcb5ee-e6a2-496e-9323-c497a9de08c9",2863 "85c85227-5b3b-4053-9933-f98fa8f3626e"2864 ],2865 "duration": 0,2866 "root": false,2867 "rootEmpty": false,2868 "_timeout": 99999992869 },2870 {2871 "uuid": "b01fbe26-19a1-4422-a804-a211fa4e8126",2872 "title": "Connection smoke test",2873 "fullFile": "/nft_parachain/tests/src/connection.test.ts",2874 "file": "/src/connection.test.ts",2875 "beforeHooks": [],2876 "afterHooks": [],2877 "tests": [2878 {2879 "title": "Connection can be established",2880 "fullTitle": "Connection smoke test Connection can be established",2881 "timedOut": false,2882 "duration": 0,2883 "state": null,2884 "speed": null,2885 "pass": false,2886 "fail": false,2887 "pending": false,2888 "context": null,2889 "code": "await substrate_api_1.default(async (api) => {\n const health = await api.rpc.system.health();\n expect(health).to.be.not.empty;\n});",2890 "err": {},2891 "uuid": "0a85f403-5d49-4f62-8c6d-4c9fc6b5f8cf",2892 "parentUUID": null,2893 "isHook": false,2894 "skipped": true2895 },2896 {2897 "title": "Cannot connect to 255.255.255.255",2898 "fullTitle": "Connection smoke test Cannot connect to 255.255.255.255",2899 "timedOut": false,2900 "duration": 0,2901 "state": null,2902 "speed": null,2903 "pass": false,2904 "fail": false,2905 "pending": false,2906 "context": null,2907 "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;",2908 "err": {},2909 "uuid": "7b68037c-74fb-495e-adb8-14b78794055b",2910 "parentUUID": null,2911 "isHook": false,2912 "skipped": true2913 }2914 ],2915 "suites": [],2916 "passes": [],2917 "failures": [],2918 "pending": [],2919 "skipped": [2920 "0a85f403-5d49-4f62-8c6d-4c9fc6b5f8cf",2921 "7b68037c-74fb-495e-adb8-14b78794055b"2922 ],2923 "duration": 0,2924 "root": false,2925 "rootEmpty": false,2926 "_timeout": 99999992927 },2928 {2929 "uuid": "e295e9c4-ce58-49b4-ac64-b58f1ae54d95",2930 "title": "Contracts",2931 "fullFile": "/nft_parachain/tests/src/contracts.test.ts",2932 "file": "/src/contracts.test.ts",2933 "beforeHooks": [],2934 "afterHooks": [],2935 "tests": [2936 {2937 "title": "Can deploy smart contract Flipper, instantiate it and call it's get and flip messages.",2938 "fullTitle": "Contracts Can deploy smart contract Flipper, instantiate it and call it's get and flip messages.",2939 "timedOut": false,2940 "duration": 0,2941 "state": null,2942 "speed": null,2943 "pass": false,2944 "fail": false,2945 "pending": true,2946 "context": null,2947 "code": "",2948 "err": {},2949 "uuid": "5ae5e427-bfd6-4097-a812-5a4c7495d3b6",2950 "parentUUID": null,2951 "isHook": false,2952 "skipped": false2953 },2954 {2955 "title": "Can initialize contract instance",2956 "fullTitle": "Contracts Can initialize contract instance",2957 "timedOut": false,2958 "duration": 0,2959 "state": null,2960 "speed": null,2961 "pass": false,2962 "fail": false,2963 "pending": true,2964 "context": null,2965 "code": "",2966 "err": {},2967 "uuid": "5e9d5065-d0cb-4b2b-8128-edc38b2dad13",2968 "parentUUID": null,2969 "isHook": false,2970 "skipped": false2971 }2972 ],2973 "suites": [],2974 "passes": [],2975 "failures": [],2976 "pending": [2977 "5ae5e427-bfd6-4097-a812-5a4c7495d3b6",2978 "5e9d5065-d0cb-4b2b-8128-edc38b2dad13"2979 ],2980 "skipped": [],2981 "duration": 0,2982 "root": false,2983 "rootEmpty": false,2984 "_timeout": 99999992985 },2986 {2987 "uuid": "9afd16cd-2a47-40a7-97c3-3ef651542e0b",2988 "title": "Chain extensions",2989 "fullFile": "/nft_parachain/tests/src/contracts.test.ts",2990 "file": "/src/contracts.test.ts",2991 "beforeHooks": [],2992 "afterHooks": [],2993 "tests": [2994 {2995 "title": "Transfer CE",2996 "fullTitle": "Chain extensions Transfer CE",2997 "timedOut": false,2998 "duration": 0,2999 "state": null,3000 "speed": null,3001 "pass": false,3002 "fail": false,3003 "pending": true,3004 "context": null,3005 "code": "",3006 "err": {},3007 "uuid": "5dfccf7a-0eee-404d-a956-d1093df221bc",3008 "parentUUID": null,3009 "isHook": false,3010 "skipped": false3011 },3012 {3013 "title": "Mint CE",3014 "fullTitle": "Chain extensions Mint CE",3015 "timedOut": false,3016 "duration": 0,3017 "state": null,3018 "speed": null,3019 "pass": false,3020 "fail": false,3021 "pending": true,3022 "context": null,3023 "code": "",3024 "err": {},3025 "uuid": "1131b325-d3c6-4b9e-9497-d7eb26256295",3026 "parentUUID": null,3027 "isHook": false,3028 "skipped": false3029 },3030 {3031 "title": "Bulk mint CE",3032 "fullTitle": "Chain extensions Bulk mint CE",3033 "timedOut": false,3034 "duration": 0,3035 "state": null,3036 "speed": null,3037 "pass": false,3038 "fail": false,3039 "pending": true,3040 "context": null,3041 "code": "",3042 "err": {},3043 "uuid": "a9c700c8-c6f7-45aa-9802-d26245bf4d87",3044 "parentUUID": null,3045 "isHook": false,3046 "skipped": false3047 },3048 {3049 "title": "Approve CE",3050 "fullTitle": "Chain extensions Approve CE",3051 "timedOut": false,3052 "duration": 0,3053 "state": null,3054 "speed": null,3055 "pass": false,3056 "fail": false,3057 "pending": true,3058 "context": null,3059 "code": "",3060 "err": {},3061 "uuid": "63d3b2aa-a8b8-4bdf-8e93-80c68eb72c82",3062 "parentUUID": null,3063 "isHook": false,3064 "skipped": false3065 },3066 {3067 "title": "TransferFrom CE",3068 "fullTitle": "Chain extensions TransferFrom CE",3069 "timedOut": false,3070 "duration": 0,3071 "state": null,3072 "speed": null,3073 "pass": false,3074 "fail": false,3075 "pending": true,3076 "context": null,3077 "code": "",3078 "err": {},3079 "uuid": "cd69fa28-097d-4b4f-a0a0-0023fda654a2",3080 "parentUUID": null,3081 "isHook": false,3082 "skipped": false3083 },3084 {3085 "title": "SetVariableMetaData CE",3086 "fullTitle": "Chain extensions SetVariableMetaData CE",3087 "timedOut": false,3088 "duration": 0,3089 "state": null,3090 "speed": null,3091 "pass": false,3092 "fail": false,3093 "pending": true,3094 "context": null,3095 "code": "",3096 "err": {},3097 "uuid": "47084172-5068-4118-85b1-9d7b41fa0376",3098 "parentUUID": null,3099 "isHook": false,3100 "skipped": false3101 },3102 {3103 "title": "ToggleWhiteList CE",3104 "fullTitle": "Chain extensions ToggleWhiteList CE",3105 "timedOut": false,3106 "duration": 0,3107 "state": null,3108 "speed": null,3109 "pass": false,3110 "fail": false,3111 "pending": true,3112 "context": null,3113 "code": "",3114 "err": {},3115 "uuid": "0fd23521-9e89-4234-97be-7d191b812c7e",3116 "parentUUID": null,3117 "isHook": false,3118 "skipped": false3119 }3120 ],3121 "suites": [],3122 "passes": [],3123 "failures": [],3124 "pending": [3125 "5dfccf7a-0eee-404d-a956-d1093df221bc",3126 "1131b325-d3c6-4b9e-9497-d7eb26256295",3127 "a9c700c8-c6f7-45aa-9802-d26245bf4d87",3128 "63d3b2aa-a8b8-4bdf-8e93-80c68eb72c82",3129 "cd69fa28-097d-4b4f-a0a0-0023fda654a2",3130 "47084172-5068-4118-85b1-9d7b41fa0376",3131 "0fd23521-9e89-4234-97be-7d191b812c7e"3132 ],3133 "skipped": [],3134 "duration": 0,3135 "root": false,3136 "rootEmpty": false,3137 "_timeout": 99999993138 },3139 {3140 "uuid": "bf4639b9-c375-4f1b-9282-6dfc0923585c",3141 "title": "integration test: ext. createCollection():",3142 "fullFile": "/nft_parachain/tests/src/createCollection.test.ts",3143 "file": "/src/createCollection.test.ts",3144 "beforeHooks": [],3145 "afterHooks": [],3146 "tests": [3147 {3148 "title": "Create new NFT collection",3149 "fullTitle": "integration test: ext. createCollection(): Create new NFT collection",3150 "timedOut": false,3151 "duration": 0,3152 "state": null,3153 "speed": null,3154 "pass": false,3155 "fail": false,3156 "pending": false,3157 "context": null,3158 "code": "await helpers_1.createCollectionExpectSuccess({ name: 'A', description: 'B', tokenPrefix: 'C', mode: { type: 'NFT' } });",3159 "err": {},3160 "uuid": "0f328998-69e2-4773-a450-5e528a55d733",3161 "parentUUID": null,3162 "isHook": false,3163 "skipped": true3164 },3165 {3166 "title": "Create new NFT collection whith collection_name of maximum length (64 bytes)",3167 "fullTitle": "integration test: ext. createCollection(): Create new NFT collection whith collection_name of maximum length (64 bytes)",3168 "timedOut": false,3169 "duration": 0,3170 "state": null,3171 "speed": null,3172 "pass": false,3173 "fail": false,3174 "pending": false,3175 "context": null,3176 "code": "await helpers_1.createCollectionExpectSuccess({ name: 'A'.repeat(64) });",3177 "err": {},3178 "uuid": "3b912026-7a85-4f13-881b-2e33a3d62e9a",3179 "parentUUID": null,3180 "isHook": false,3181 "skipped": true3182 },3183 {3184 "title": "Create new NFT collection whith collection_description of maximum length (256 bytes)",3185 "fullTitle": "integration test: ext. createCollection(): Create new NFT collection whith collection_description of maximum length (256 bytes)",3186 "timedOut": false,3187 "duration": 0,3188 "state": null,3189 "speed": null,3190 "pass": false,3191 "fail": false,3192 "pending": false,3193 "context": null,3194 "code": "await helpers_1.createCollectionExpectSuccess({ description: 'A'.repeat(256) });",3195 "err": {},3196 "uuid": "779e3c68-ea23-4575-8e6b-d9c7ae101cc7",3197 "parentUUID": null,3198 "isHook": false,3199 "skipped": true3200 },3201 {3202 "title": "Create new NFT collection whith token_prefix of maximum length (16 bytes)",3203 "fullTitle": "integration test: ext. createCollection(): Create new NFT collection whith token_prefix of maximum length (16 bytes)",3204 "timedOut": false,3205 "duration": 0,3206 "state": null,3207 "speed": null,3208 "pass": false,3209 "fail": false,3210 "pending": false,3211 "context": null,3212 "code": "await helpers_1.createCollectionExpectSuccess({ tokenPrefix: 'A'.repeat(16) });",3213 "err": {},3214 "uuid": "f5f2387d-7ff0-4cd5-90fb-5391d9d23313",3215 "parentUUID": null,3216 "isHook": false,3217 "skipped": true3218 },3219 {3220 "title": "Create new Fungible collection",3221 "fullTitle": "integration test: ext. createCollection(): Create new Fungible collection",3222 "timedOut": false,3223 "duration": 0,3224 "state": null,3225 "speed": null,3226 "pass": false,3227 "fail": false,3228 "pending": false,3229 "context": null,3230 "code": "await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });",3231 "err": {},3232 "uuid": "6329e7c6-186c-47aa-808f-6c1ba6520459",3233 "parentUUID": null,3234 "isHook": false,3235 "skipped": true3236 },3237 {3238 "title": "Create new ReFungible collection",3239 "fullTitle": "integration test: ext. createCollection(): Create new ReFungible collection",3240 "timedOut": false,3241 "duration": 0,3242 "state": null,3243 "speed": null,3244 "pass": false,3245 "fail": false,3246 "pending": false,3247 "context": null,3248 "code": "await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });",3249 "err": {},3250 "uuid": "03366c56-3814-4715-99cf-33baac1f84c5",3251 "parentUUID": null,3252 "isHook": false,3253 "skipped": true3254 }3255 ],3256 "suites": [],3257 "passes": [],3258 "failures": [],3259 "pending": [],3260 "skipped": [3261 "0f328998-69e2-4773-a450-5e528a55d733",3262 "3b912026-7a85-4f13-881b-2e33a3d62e9a",3263 "779e3c68-ea23-4575-8e6b-d9c7ae101cc7",3264 "f5f2387d-7ff0-4cd5-90fb-5391d9d23313",3265 "6329e7c6-186c-47aa-808f-6c1ba6520459",3266 "03366c56-3814-4715-99cf-33baac1f84c5"3267 ],3268 "duration": 0,3269 "root": false,3270 "rootEmpty": false,3271 "_timeout": 99999993272 },3273 {3274 "uuid": "a295c2d7-d283-4e68-a345-3daa44dffca9",3275 "title": "(!negative test!) integration test: ext. createCollection():",3276 "fullFile": "/nft_parachain/tests/src/createCollection.test.ts",3277 "file": "/src/createCollection.test.ts",3278 "beforeHooks": [],3279 "afterHooks": [],3280 "tests": [3281 {3282 "title": "(!negative test!) create new NFT collection whith incorrect data (mode)",3283 "fullTitle": "(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (mode)",3284 "timedOut": false,3285 "duration": 0,3286 "state": null,3287 "speed": null,3288 "pass": false,3289 "fail": false,3290 "pending": false,3291 "context": null,3292 "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});",3293 "err": {},3294 "uuid": "d83a661f-a409-452b-b322-4e3708101361",3295 "parentUUID": null,3296 "isHook": false,3297 "skipped": true3298 },3299 {3300 "title": "(!negative test!) create new NFT collection whith incorrect data (collection_name)",3301 "fullTitle": "(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (collection_name)",3302 "timedOut": false,3303 "duration": 0,3304 "state": null,3305 "speed": null,3306 "pass": false,3307 "fail": false,3308 "pending": false,3309 "context": null,3310 "code": "await helpers_1.createCollectionExpectFailure({ name: 'A'.repeat(65), mode: { type: 'NFT' } });",3311 "err": {},3312 "uuid": "7d6758ad-10e3-4466-b647-4d9220c70b03",3313 "parentUUID": null,3314 "isHook": false,3315 "skipped": true3316 },3317 {3318 "title": "(!negative test!) create new NFT collection whith incorrect data (collection_description)",3319 "fullTitle": "(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (collection_description)",3320 "timedOut": false,3321 "duration": 0,3322 "state": null,3323 "speed": null,3324 "pass": false,3325 "fail": false,3326 "pending": false,3327 "context": null,3328 "code": "await helpers_1.createCollectionExpectFailure({ description: 'A'.repeat(257), mode: { type: 'NFT' } });",3329 "err": {},3330 "uuid": "3ba21132-1816-420a-abcc-da80f46e87a3",3331 "parentUUID": null,3332 "isHook": false,3333 "skipped": true3334 },3335 {3336 "title": "(!negative test!) create new NFT collection whith incorrect data (token_prefix)",3337 "fullTitle": "(!negative test!) integration test: ext. createCollection(): (!negative test!) create new NFT collection whith incorrect data (token_prefix)",3338 "timedOut": false,3339 "duration": 0,3340 "state": null,3341 "speed": null,3342 "pass": false,3343 "fail": false,3344 "pending": false,3345 "context": null,3346 "code": "await helpers_1.createCollectionExpectFailure({ tokenPrefix: 'A'.repeat(17), mode: { type: 'NFT' } });",3347 "err": {},3348 "uuid": "78b8acf1-36a3-4104-9b4c-f80cbabf95af",3349 "parentUUID": null,3350 "isHook": false,3351 "skipped": true3352 }3353 ],3354 "suites": [],3355 "passes": [],3356 "failures": [],3357 "pending": [],3358 "skipped": [3359 "d83a661f-a409-452b-b322-4e3708101361",3360 "7d6758ad-10e3-4466-b647-4d9220c70b03",3361 "3ba21132-1816-420a-abcc-da80f46e87a3",3362 "78b8acf1-36a3-4104-9b4c-f80cbabf95af"3363 ],3364 "duration": 0,3365 "root": false,3366 "rootEmpty": false,3367 "_timeout": 99999993368 },3369 {3370 "uuid": "86873356-b6ed-4bf9-9ffb-6060b7757ace",3371 "title": "integration test: ext. createItem():",3372 "fullFile": "/nft_parachain/tests/src/createItem.test.ts",3373 "file": "/src/createItem.test.ts",3374 "beforeHooks": [3375 {3376 "title": "\"before all\" hook",3377 "fullTitle": "integration test: ext. createItem(): \"before all\" hook",3378 "timedOut": false,3379 "duration": 0,3380 "state": null,3381 "speed": null,3382 "pass": false,3383 "fail": false,3384 "pending": false,3385 "context": null,3386 "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});",3387 "err": {},3388 "uuid": "a77cc8c0-c5c3-463b-a710-af175ab1ae33",3389 "parentUUID": null,3390 "isHook": true,3391 "skipped": false3392 }3393 ],3394 "afterHooks": [],3395 "tests": [3396 {3397 "title": "Create new item in NFT collection",3398 "fullTitle": "integration test: ext. createItem(): Create new item in NFT collection",3399 "timedOut": false,3400 "duration": 0,3401 "state": null,3402 "speed": null,3403 "pass": false,3404 "fail": false,3405 "pending": false,3406 "context": null,3407 "code": "const createMode = 'NFT';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait helpers_1.createItemExpectSuccess(alice, newCollectionID, createMode);",3408 "err": {},3409 "uuid": "d49d97df-b93b-4980-8377-088992f5a97c",3410 "parentUUID": null,3411 "isHook": false,3412 "skipped": true3413 },3414 {3415 "title": "Create new item in Fungible collection",3416 "fullTitle": "integration test: ext. createItem(): Create new item in Fungible collection",3417 "timedOut": false,3418 "duration": 0,3419 "state": null,3420 "speed": null,3421 "pass": false,3422 "fail": false,3423 "pending": false,3424 "context": null,3425 "code": "const createMode = 'Fungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode, decimalPoints: 0 } });\nawait helpers_1.createItemExpectSuccess(alice, newCollectionID, createMode);",3426 "err": {},3427 "uuid": "17151dee-f03e-4576-be19-0bff3dbb99b1",3428 "parentUUID": null,3429 "isHook": false,3430 "skipped": true3431 },3432 {3433 "title": "Create new item in ReFungible collection",3434 "fullTitle": "integration test: ext. createItem(): Create new item in ReFungible collection",3435 "timedOut": false,3436 "duration": 0,3437 "state": null,3438 "speed": null,3439 "pass": false,3440 "fail": false,3441 "pending": false,3442 "context": null,3443 "code": "const createMode = 'ReFungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait helpers_1.createItemExpectSuccess(alice, newCollectionID, createMode);",3444 "err": {},3445 "uuid": "a843d3cf-c669-4f8d-ac0f-69ad79f4399f",3446 "parentUUID": null,3447 "isHook": false,3448 "skipped": true3449 },3450 {3451 "title": "Create new item in NFT collection with collection admin permissions",3452 "fullTitle": "integration test: ext. createItem(): Create new item in NFT collection with collection admin permissions",3453 "timedOut": false,3454 "duration": 0,3455 "state": null,3456 "speed": null,3457 "pass": false,3458 "fail": false,3459 "pending": false,3460 "context": null,3461 "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);",3462 "err": {},3463 "uuid": "0d53673a-eea6-48cb-a347-58826b2f4e0c",3464 "parentUUID": null,3465 "isHook": false,3466 "skipped": true3467 },3468 {3469 "title": "Create new item in Fungible collection with collection admin permissions",3470 "fullTitle": "integration test: ext. createItem(): Create new item in Fungible collection with collection admin permissions",3471 "timedOut": false,3472 "duration": 0,3473 "state": null,3474 "speed": null,3475 "pass": false,3476 "fail": false,3477 "pending": false,3478 "context": null,3479 "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);",3480 "err": {},3481 "uuid": "f2079a87-c322-48f3-8c55-b039dfa6a631",3482 "parentUUID": null,3483 "isHook": false,3484 "skipped": true3485 },3486 {3487 "title": "Create new item in ReFungible collection with collection admin permissions",3488 "fullTitle": "integration test: ext. createItem(): Create new item in ReFungible collection with collection admin permissions",3489 "timedOut": false,3490 "duration": 0,3491 "state": null,3492 "speed": null,3493 "pass": false,3494 "fail": false,3495 "pending": false,3496 "context": null,3497 "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);",3498 "err": {},3499 "uuid": "440acee4-6142-4675-a0c9-8bf8eed167fe",3500 "parentUUID": null,3501 "isHook": false,3502 "skipped": true3503 }3504 ],3505 "suites": [],3506 "passes": [],3507 "failures": [],3508 "pending": [],3509 "skipped": [3510 "d49d97df-b93b-4980-8377-088992f5a97c",3511 "17151dee-f03e-4576-be19-0bff3dbb99b1",3512 "a843d3cf-c669-4f8d-ac0f-69ad79f4399f",3513 "0d53673a-eea6-48cb-a347-58826b2f4e0c",3514 "f2079a87-c322-48f3-8c55-b039dfa6a631",3515 "440acee4-6142-4675-a0c9-8bf8eed167fe"3516 ],3517 "duration": 0,3518 "root": false,3519 "rootEmpty": false,3520 "_timeout": 99999993521 },3522 {3523 "uuid": "d8760f1e-4b04-4384-ae6a-1f3f2e98bf80",3524 "title": "Negative integration test: ext. createItem():",3525 "fullFile": "/nft_parachain/tests/src/createItem.test.ts",3526 "file": "/src/createItem.test.ts",3527 "beforeHooks": [3528 {3529 "title": "\"before all\" hook",3530 "fullTitle": "Negative integration test: ext. createItem(): \"before all\" hook",3531 "timedOut": false,3532 "duration": 0,3533 "state": null,3534 "speed": null,3535 "pass": false,3536 "fail": false,3537 "pending": false,3538 "context": null,3539 "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});",3540 "err": {},3541 "uuid": "f7f7d52d-b852-444c-b448-41eedd575398",3542 "parentUUID": null,3543 "isHook": true,3544 "skipped": false3545 }3546 ],3547 "afterHooks": [],3548 "tests": [3549 {3550 "title": "Regular user cannot create new item in NFT collection",3551 "fullTitle": "Negative integration test: ext. createItem(): Regular user cannot create new item in NFT collection",3552 "timedOut": false,3553 "duration": 0,3554 "state": null,3555 "speed": null,3556 "pass": false,3557 "fail": false,3558 "pending": false,3559 "context": null,3560 "code": "const createMode = 'NFT';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait expect(helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode)).to.be.rejected;",3561 "err": {},3562 "uuid": "343c1699-ab93-43b5-b20c-9991e6e94c78",3563 "parentUUID": null,3564 "isHook": false,3565 "skipped": true3566 },3567 {3568 "title": "Regular user cannot create new item in Fungible collection",3569 "fullTitle": "Negative integration test: ext. createItem(): Regular user cannot create new item in Fungible collection",3570 "timedOut": false,3571 "duration": 0,3572 "state": null,3573 "speed": null,3574 "pass": false,3575 "fail": false,3576 "pending": false,3577 "context": null,3578 "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;",3579 "err": {},3580 "uuid": "4a67baef-0ec5-44d9-827f-2db5d6752940",3581 "parentUUID": null,3582 "isHook": false,3583 "skipped": true3584 },3585 {3586 "title": "Regular user cannot create new item in ReFungible collection",3587 "fullTitle": "Negative integration test: ext. createItem(): Regular user cannot create new item in ReFungible collection",3588 "timedOut": false,3589 "duration": 0,3590 "state": null,3591 "speed": null,3592 "pass": false,3593 "fail": false,3594 "pending": false,3595 "context": null,3596 "code": "const createMode = 'ReFungible';\nconst newCollectionID = await helpers_1.createCollectionExpectSuccess({ mode: { type: createMode } });\nawait expect(helpers_1.createItemExpectSuccess(bob, newCollectionID, createMode)).to.be.rejected;",3597 "err": {},3598 "uuid": "723df5d5-8595-4e32-9ab1-f3d6831235c0",3599 "parentUUID": null,3600 "isHook": false,3601 "skipped": true3602 }3603 ],3604 "suites": [],3605 "passes": [],3606 "failures": [],3607 "pending": [],3608 "skipped": [3609 "343c1699-ab93-43b5-b20c-9991e6e94c78",3610 "4a67baef-0ec5-44d9-827f-2db5d6752940",3611 "723df5d5-8595-4e32-9ab1-f3d6831235c0"3612 ],3613 "duration": 0,3614 "root": false,3615 "rootEmpty": false,3616 "_timeout": 99999993617 },3618 {3619 "uuid": "64eb7f91-3e10-4ccf-9650-651719037593",3620 "title": "Integration Test createMultipleItems(collection_id, owner, items_data):",3621 "fullFile": "/nft_parachain/tests/src/createMultipleItems.test.ts",3622 "file": "/src/createMultipleItems.test.ts",3623 "beforeHooks": [],3624 "afterHooks": [],3625 "tests": [3626 {3627 "title": "Create 0x31, 0x32, 0x33 items in active NFT collection and verify tokens data in chain",3628 "fullTitle": "Integration Test createMultipleItems(collection_id, owner, items_data): Create 0x31, 0x32, 0x33 items in active NFT collection and verify tokens data in chain",3629 "timedOut": false,3630 "duration": 0,3631 "state": null,3632 "speed": null,3633 "pass": false,3634 "fail": false,3635 "pending": false,3636 "context": null,3637 "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});",3638 "err": {},3639 "uuid": "dde52380-97a1-4527-81e5-6210ed37b0e0",3640 "parentUUID": null,3641 "isHook": false,3642 "skipped": true3643 },3644 {3645 "title": "Create 0x01, 0x02, 0x03 items in active Fungible collection and verify tokens data in chain",3646 "fullTitle": "Integration Test createMultipleItems(collection_id, owner, items_data): Create 0x01, 0x02, 0x03 items in active Fungible collection and verify tokens data in chain",3647 "timedOut": false,3648 "duration": 0,3649 "state": null,3650 "speed": null,3651 "pass": false,3652 "fail": false,3653 "pending": false,3654 "context": null,3655 "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});",3656 "err": {},3657 "uuid": "2e4b5045-d586-4ea0-886c-48a123adbec8",3658 "parentUUID": null,3659 "isHook": false,3660 "skipped": true3661 },3662 {3663 "title": "Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain",3664 "fullTitle": "Integration Test createMultipleItems(collection_id, owner, items_data): Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain",3665 "timedOut": false,3666 "duration": 0,3667 "state": null,3668 "speed": null,3669 "pass": false,3670 "fail": false,3671 "pending": false,3672 "context": null,3673 "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});",3674 "err": {},3675 "uuid": "10ac40e1-7fcc-4104-b52a-f9bb3c5eec14",3676 "parentUUID": null,3677 "isHook": false,3678 "skipped": true3679 },3680 {3681 "title": "Can mint amount of items equals to collection limits",3682 "fullTitle": "Integration Test createMultipleItems(collection_id, owner, items_data): Can mint amount of items equals to collection limits",3683 "timedOut": false,3684 "duration": 0,3685 "state": null,3686 "speed": null,3687 "pass": false,3688 "fail": false,3689 "pending": false,3690 "context": null,3691 "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});",3692 "err": {},3693 "uuid": "d2aa77dc-43c0-4eb1-87ed-99e59b7c8699",3694 "parentUUID": null,3695 "isHook": false,3696 "skipped": true3697 }3698 ],3699 "suites": [],3700 "passes": [],3701 "failures": [],3702 "pending": [],3703 "skipped": [3704 "dde52380-97a1-4527-81e5-6210ed37b0e0",3705 "2e4b5045-d586-4ea0-886c-48a123adbec8",3706 "10ac40e1-7fcc-4104-b52a-f9bb3c5eec14",3707 "d2aa77dc-43c0-4eb1-87ed-99e59b7c8699"3708 ],3709 "duration": 0,3710 "root": false,3711 "rootEmpty": false,3712 "_timeout": 99999993713 },3714 {3715 "uuid": "1d0a4943-7714-4aee-97fb-92e9815a934e",3716 "title": "Integration Test createMultipleItems(collection_id, owner, items_data) with collection admin permissions:",3717 "fullFile": "/nft_parachain/tests/src/createMultipleItems.test.ts",3718 "file": "/src/createMultipleItems.test.ts",3719 "beforeHooks": [3720 {3721 "title": "\"before all\" hook",3722 "fullTitle": "Integration Test createMultipleItems(collection_id, owner, items_data) with collection admin permissions: \"before all\" hook",3723 "timedOut": false,3724 "duration": 0,3725 "state": null,3726 "speed": null,3727 "pass": false,3728 "fail": false,3729 "pending": false,3730 "context": null,3731 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",3732 "err": {},3733 "uuid": "4b8317d6-26d2-4a76-b36f-021b60e22414",3734 "parentUUID": null,3735 "isHook": true,3736 "skipped": false3737 }3738 ],3739 "afterHooks": [],3740 "tests": [3741 {3742 "title": "Create 0x31, 0x32, 0x33 items in active NFT collection and verify tokens data in chain",3743 "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",3744 "timedOut": false,3745 "duration": 0,3746 "state": null,3747 "speed": null,3748 "pass": false,3749 "fail": false,3750 "pending": false,3751 "context": null,3752 "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});",3753 "err": {},3754 "uuid": "bb637f9d-b9ea-451c-a30a-492542fd6843",3755 "parentUUID": null,3756 "isHook": false,3757 "skipped": true3758 },3759 {3760 "title": "Create 0x01, 0x02, 0x03 items in active Fungible collection and verify tokens data in chain",3761 "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",3762 "timedOut": false,3763 "duration": 0,3764 "state": null,3765 "speed": null,3766 "pass": false,3767 "fail": false,3768 "pending": false,3769 "context": null,3770 "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});",3771 "err": {},3772 "uuid": "c46c8746-1cc5-453e-90d1-d923be03f694",3773 "parentUUID": null,3774 "isHook": false,3775 "skipped": true3776 },3777 {3778 "title": "Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain",3779 "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",3780 "timedOut": false,3781 "duration": 0,3782 "state": null,3783 "speed": null,3784 "pass": false,3785 "fail": false,3786 "pending": false,3787 "context": null,3788 "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});",3789 "err": {},3790 "uuid": "505dee22-4a1b-4911-b40e-e4b124c5b5fa",3791 "parentUUID": null,3792 "isHook": false,3793 "skipped": true3794 }3795 ],3796 "suites": [],3797 "passes": [],3798 "failures": [],3799 "pending": [],3800 "skipped": [3801 "bb637f9d-b9ea-451c-a30a-492542fd6843",3802 "c46c8746-1cc5-453e-90d1-d923be03f694",3803 "505dee22-4a1b-4911-b40e-e4b124c5b5fa"3804 ],3805 "duration": 0,3806 "root": false,3807 "rootEmpty": false,3808 "_timeout": 99999993809 },3810 {3811 "uuid": "8288ec61-5a92-4dc4-95cd-f66b844286ac",3812 "title": "Negative Integration Test createMultipleItems(collection_id, owner, items_data):",3813 "fullFile": "/nft_parachain/tests/src/createMultipleItems.test.ts",3814 "file": "/src/createMultipleItems.test.ts",3815 "beforeHooks": [3816 {3817 "title": "\"before all\" hook",3818 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): \"before all\" hook",3819 "timedOut": false,3820 "duration": 0,3821 "state": null,3822 "speed": null,3823 "pass": false,3824 "fail": false,3825 "pending": false,3826 "context": null,3827 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",3828 "err": {},3829 "uuid": "533cb0fd-f60f-44cc-9049-454848ccdcf8",3830 "parentUUID": null,3831 "isHook": true,3832 "skipped": false3833 }3834 ],3835 "afterHooks": [],3836 "tests": [3837 {3838 "title": "Regular user cannot create items in active NFT collection",3839 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Regular user cannot create items in active NFT collection",3840 "timedOut": false,3841 "duration": 0,3842 "state": null,3843 "speed": null,3844 "pass": false,3845 "fail": false,3846 "pending": false,3847 "context": null,3848 "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});",3849 "err": {},3850 "uuid": "0b0aa09f-6e5c-462f-86e4-86fb59d07e3a",3851 "parentUUID": null,3852 "isHook": false,3853 "skipped": true3854 },3855 {3856 "title": "Regular user cannot create items in active Fungible collection",3857 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Regular user cannot create items in active Fungible collection",3858 "timedOut": false,3859 "duration": 0,3860 "state": null,3861 "speed": null,3862 "pass": false,3863 "fail": false,3864 "pending": false,3865 "context": null,3866 "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});",3867 "err": {},3868 "uuid": "3c3fda06-6710-4b6b-b3c3-646378b4ae92",3869 "parentUUID": null,3870 "isHook": false,3871 "skipped": true3872 },3873 {3874 "title": "Regular user cannot create items in active ReFungible collection",3875 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Regular user cannot create items in active ReFungible collection",3876 "timedOut": false,3877 "duration": 0,3878 "state": null,3879 "speed": null,3880 "pass": false,3881 "fail": false,3882 "pending": false,3883 "context": null,3884 "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});",3885 "err": {},3886 "uuid": "baf53ce7-d08d-483e-88d0-a4b2075b3d1f",3887 "parentUUID": null,3888 "isHook": false,3889 "skipped": true3890 },3891 {3892 "title": "Create token with not existing type",3893 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create token with not existing type",3894 "timedOut": false,3895 "duration": 0,3896 "state": null,3897 "speed": null,3898 "pass": false,3899 "fail": false,3900 "pending": false,3901 "context": null,3902 "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});",3903 "err": {},3904 "uuid": "168fcf78-ea46-4da2-9260-cf769a9ec1b7",3905 "parentUUID": null,3906 "isHook": false,3907 "skipped": true3908 },3909 {3910 "title": "Create token in not existing collection",3911 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create token in not existing collection",3912 "timedOut": false,3913 "duration": 0,3914 "state": null,3915 "speed": null,3916 "pass": false,3917 "fail": false,3918 "pending": false,3919 "context": null,3920 "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});",3921 "err": {},3922 "uuid": "93ac2bab-a5ad-4328-96a9-3f1fdbf33dd8",3923 "parentUUID": null,3924 "isHook": false,3925 "skipped": true3926 },3927 {3928 "title": "Create NFT and Re-fungible tokens that has reached the maximum data limit",3929 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create NFT and Re-fungible tokens that has reached the maximum data limit",3930 "timedOut": false,3931 "duration": 0,3932 "state": null,3933 "speed": null,3934 "pass": false,3935 "fail": false,3936 "pending": false,3937 "context": null,3938 "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});",3939 "err": {},3940 "uuid": "88ca0edf-1f0d-4c88-9920-983dec0902f7",3941 "parentUUID": null,3942 "isHook": false,3943 "skipped": true3944 },3945 {3946 "title": "Create tokens with different types",3947 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create tokens with different types",3948 "timedOut": false,3949 "duration": 0,3950 "state": null,3951 "speed": null,3952 "pass": false,3953 "fail": false,3954 "pending": false,3955 "context": null,3956 "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});",3957 "err": {},3958 "uuid": "175de1dd-2b17-4cb8-b061-e5a55b5a50e9",3959 "parentUUID": null,3960 "isHook": false,3961 "skipped": true3962 },3963 {3964 "title": "Create tokens with different data limits <> maximum data limit",3965 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Create tokens with different data limits <> maximum data limit",3966 "timedOut": false,3967 "duration": 0,3968 "state": null,3969 "speed": null,3970 "pass": false,3971 "fail": false,3972 "pending": false,3973 "context": null,3974 "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});",3975 "err": {},3976 "uuid": "2b4d53f9-f5e7-4a23-949a-3ac95b3fbbcd",3977 "parentUUID": null,3978 "isHook": false,3979 "skipped": true3980 },3981 {3982 "title": "Fails when minting tokens exceeds collectionLimits amount",3983 "fullTitle": "Negative Integration Test createMultipleItems(collection_id, owner, items_data): Fails when minting tokens exceeds collectionLimits amount",3984 "timedOut": false,3985 "duration": 0,3986 "state": null,3987 "speed": null,3988 "pass": false,3989 "fail": false,3990 "pending": false,3991 "context": null,3992 "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});",3993 "err": {},3994 "uuid": "c08e3a79-415f-432e-ba59-bce028a4fd65",3995 "parentUUID": null,3996 "isHook": false,3997 "skipped": true3998 }3999 ],4000 "suites": [],4001 "passes": [],4002 "failures": [],4003 "pending": [],4004 "skipped": [4005 "0b0aa09f-6e5c-462f-86e4-86fb59d07e3a",4006 "3c3fda06-6710-4b6b-b3c3-646378b4ae92",4007 "baf53ce7-d08d-483e-88d0-a4b2075b3d1f",4008 "168fcf78-ea46-4da2-9260-cf769a9ec1b7",4009 "93ac2bab-a5ad-4328-96a9-3f1fdbf33dd8",4010 "88ca0edf-1f0d-4c88-9920-983dec0902f7",4011 "175de1dd-2b17-4cb8-b061-e5a55b5a50e9",4012 "2b4d53f9-f5e7-4a23-949a-3ac95b3fbbcd",4013 "c08e3a79-415f-432e-ba59-bce028a4fd65"4014 ],4015 "duration": 0,4016 "root": false,4017 "rootEmpty": false,4018 "_timeout": 99999994019 },4020 {4021 "uuid": "36c38616-c13a-4557-9cb9-1c3706f3ac7f",4022 "title": "integration test: Fees must be credited to Treasury:",4023 "fullFile": "/nft_parachain/tests/src/creditFeesToTreasury.test.ts",4024 "file": "/src/creditFeesToTreasury.test.ts",4025 "beforeHooks": [4026 {4027 "title": "\"before all\" hook",4028 "fullTitle": "integration test: Fees must be credited to Treasury: \"before all\" hook",4029 "timedOut": false,4030 "duration": 0,4031 "state": null,4032 "speed": null,4033 "pass": false,4034 "fail": false,4035 "pending": false,4036 "context": null,4037 "code": "await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});",4038 "err": {},4039 "uuid": "d82f2f76-897d-4b82-b2fa-668962c68547",4040 "parentUUID": null,4041 "isHook": true,4042 "skipped": false4043 }4044 ],4045 "afterHooks": [],4046 "tests": [4047 {4048 "title": "Total issuance does not change",4049 "fullTitle": "integration test: Fees must be credited to Treasury: Total issuance does not change",4050 "timedOut": false,4051 "duration": 0,4052 "state": null,4053 "speed": null,4054 "pass": false,4055 "fail": false,4056 "pending": false,4057 "context": null,4058 "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});",4059 "err": {},4060 "uuid": "30283cd1-c50d-47fe-a990-3e1bbb81dc54",4061 "parentUUID": null,4062 "isHook": false,4063 "skipped": true4064 },4065 {4066 "title": "Sender balance decreased by fee+sent amount, Treasury balance increased by fee",4067 "fullTitle": "integration test: Fees must be credited to Treasury: Sender balance decreased by fee+sent amount, Treasury balance increased by fee",4068 "timedOut": false,4069 "duration": 0,4070 "state": null,4071 "speed": null,4072 "pass": false,4073 "fail": false,4074 "pending": false,4075 "context": null,4076 "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});",4077 "err": {},4078 "uuid": "129ec89e-7233-46b1-9406-e8f837ec7df7",4079 "parentUUID": null,4080 "isHook": false,4081 "skipped": true4082 },4083 {4084 "title": "Treasury balance increased by failed tx fee",4085 "fullTitle": "integration test: Fees must be credited to Treasury: Treasury balance increased by failed tx fee",4086 "timedOut": false,4087 "duration": 0,4088 "state": null,4089 "speed": null,4090 "pass": false,4091 "fail": false,4092 "pending": false,4093 "context": null,4094 "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});",4095 "err": {},4096 "uuid": "93062bf3-a522-428b-922b-80684d2cc0a0",4097 "parentUUID": null,4098 "isHook": false,4099 "skipped": true4100 },4101 {4102 "title": "NFT Transactions also send fees to Treasury",4103 "fullTitle": "integration test: Fees must be credited to Treasury: NFT Transactions also send fees to Treasury",4104 "timedOut": false,4105 "duration": 0,4106 "state": null,4107 "speed": null,4108 "pass": false,4109 "fail": false,4110 "pending": false,4111 "context": null,4112 "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});",4113 "err": {},4114 "uuid": "9f2156c7-beb1-40eb-84fb-754b080e4575",4115 "parentUUID": null,4116 "isHook": false,4117 "skipped": true4118 },4119 {4120 "title": "Fees are sane",4121 "fullTitle": "integration test: Fees must be credited to Treasury: Fees are sane",4122 "timedOut": false,4123 "duration": 0,4124 "state": null,4125 "speed": null,4126 "pass": false,4127 "fail": false,4128 "pending": false,4129 "context": null,4130 "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});",4131 "err": {},4132 "uuid": "b771b916-77d8-4052-a811-a1080c925937",4133 "parentUUID": null,4134 "isHook": false,4135 "skipped": true4136 },4137 {4138 "title": "NFT Transfer fee is close to 0.1 Unique",4139 "fullTitle": "integration test: Fees must be credited to Treasury: NFT Transfer fee is close to 0.1 Unique",4140 "timedOut": false,4141 "duration": 0,4142 "state": null,4143 "speed": null,4144 "pass": false,4145 "fail": false,4146 "pending": false,4147 "context": null,4148 "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});",4149 "err": {},4150 "uuid": "959a2708-5f73-4e34-b23b-451db6b792cb",4151 "parentUUID": null,4152 "isHook": false,4153 "skipped": true4154 }4155 ],4156 "suites": [],4157 "passes": [],4158 "failures": [],4159 "pending": [],4160 "skipped": [4161 "30283cd1-c50d-47fe-a990-3e1bbb81dc54",4162 "129ec89e-7233-46b1-9406-e8f837ec7df7",4163 "93062bf3-a522-428b-922b-80684d2cc0a0",4164 "9f2156c7-beb1-40eb-84fb-754b080e4575",4165 "b771b916-77d8-4052-a811-a1080c925937",4166 "959a2708-5f73-4e34-b23b-451db6b792cb"4167 ],4168 "duration": 0,4169 "root": false,4170 "rootEmpty": false,4171 "_timeout": 99999994172 },4173 {4174 "uuid": "690f02a6-5932-480d-bdad-909c7451a15d",4175 "title": "integration test: ext. destroyCollection():",4176 "fullFile": "/nft_parachain/tests/src/destroyCollection.test.ts",4177 "file": "/src/destroyCollection.test.ts",4178 "beforeHooks": [],4179 "afterHooks": [],4180 "tests": [4181 {4182 "title": "NFT collection can be destroyed",4183 "fullTitle": "integration test: ext. destroyCollection(): NFT collection can be destroyed",4184 "timedOut": false,4185 "duration": 0,4186 "state": null,4187 "speed": null,4188 "pass": false,4189 "fail": false,4190 "pending": false,4191 "context": null,4192 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);",4193 "err": {},4194 "uuid": "4180464f-22c6-4e68-a585-4c7dfe2f7fde",4195 "parentUUID": null,4196 "isHook": false,4197 "skipped": true4198 },4199 {4200 "title": "Fungible collection can be destroyed",4201 "fullTitle": "integration test: ext. destroyCollection(): Fungible collection can be destroyed",4202 "timedOut": false,4203 "duration": 0,4204 "state": null,4205 "speed": null,4206 "pass": false,4207 "fail": false,4208 "pending": false,4209 "context": null,4210 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);",4211 "err": {},4212 "uuid": "2e938b8d-c64e-49e5-a704-3b3ad62f2fd8",4213 "parentUUID": null,4214 "isHook": false,4215 "skipped": true4216 },4217 {4218 "title": "ReFungible collection can be destroyed",4219 "fullTitle": "integration test: ext. destroyCollection(): ReFungible collection can be destroyed",4220 "timedOut": false,4221 "duration": 0,4222 "state": null,4223 "speed": null,4224 "pass": false,4225 "fail": false,4226 "pending": false,4227 "context": null,4228 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);",4229 "err": {},4230 "uuid": "9297b7a6-20c5-49eb-bd2b-c09794ef5792",4231 "parentUUID": null,4232 "isHook": false,4233 "skipped": true4234 }4235 ],4236 "suites": [],4237 "passes": [],4238 "failures": [],4239 "pending": [],4240 "skipped": [4241 "4180464f-22c6-4e68-a585-4c7dfe2f7fde",4242 "2e938b8d-c64e-49e5-a704-3b3ad62f2fd8",4243 "9297b7a6-20c5-49eb-bd2b-c09794ef5792"4244 ],4245 "duration": 0,4246 "root": false,4247 "rootEmpty": false,4248 "_timeout": 99999994249 },4250 {4251 "uuid": "d09522f9-f6a3-479f-9398-a62427e9a352",4252 "title": "(!negative test!) integration test: ext. destroyCollection():",4253 "fullFile": "/nft_parachain/tests/src/destroyCollection.test.ts",4254 "file": "/src/destroyCollection.test.ts",4255 "beforeHooks": [4256 {4257 "title": "\"before all\" hook",4258 "fullTitle": "(!negative test!) integration test: ext. destroyCollection(): \"before all\" hook",4259 "timedOut": false,4260 "duration": 0,4261 "state": null,4262 "speed": null,4263 "pass": false,4264 "fail": false,4265 "pending": false,4266 "context": null,4267 "code": "await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});",4268 "err": {},4269 "uuid": "029c7b06-9a11-473f-9597-d857bb51b47a",4270 "parentUUID": null,4271 "isHook": true,4272 "skipped": false4273 }4274 ],4275 "afterHooks": [],4276 "tests": [4277 {4278 "title": "(!negative test!) Destroy a collection that never existed",4279 "fullTitle": "(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection that never existed",4280 "timedOut": false,4281 "duration": 0,4282 "state": null,4283 "speed": null,4284 "pass": false,4285 "fail": false,4286 "pending": false,4287 "context": null,4288 "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});",4289 "err": {},4290 "uuid": "53dcbc2e-6a9b-46e6-8548-8a9713b3208c",4291 "parentUUID": null,4292 "isHook": false,4293 "skipped": true4294 },4295 {4296 "title": "(!negative test!) Destroy a collection that has already been destroyed",4297 "fullTitle": "(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection that has already been destroyed",4298 "timedOut": false,4299 "duration": 0,4300 "state": null,4301 "speed": null,4302 "pass": false,4303 "fail": false,4304 "pending": false,4305 "context": null,4306 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.destroyCollectionExpectFailure(collectionId);",4307 "err": {},4308 "uuid": "c9193aa7-25a6-429d-878f-3150a9f87104",4309 "parentUUID": null,4310 "isHook": false,4311 "skipped": true4312 },4313 {4314 "title": "(!negative test!) Destroy a collection using non-owner account",4315 "fullTitle": "(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection using non-owner account",4316 "timedOut": false,4317 "duration": 0,4318 "state": null,4319 "speed": null,4320 "pass": false,4321 "fail": false,4322 "pending": false,4323 "context": null,4324 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectFailure(collectionId, '//Bob');\nawait helpers_1.destroyCollectionExpectSuccess(collectionId, '//Alice');",4325 "err": {},4326 "uuid": "470c05d3-d36a-4638-a972-45af56d80408",4327 "parentUUID": null,4328 "isHook": false,4329 "skipped": true4330 },4331 {4332 "title": "(!negative test!) Destroy a collection using collection admin account",4333 "fullTitle": "(!negative test!) integration test: ext. destroyCollection(): (!negative test!) Destroy a collection using collection admin account",4334 "timedOut": false,4335 "duration": 0,4336 "state": null,4337 "speed": null,4338 "pass": false,4339 "fail": false,4340 "pending": false,4341 "context": null,4342 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.destroyCollectionExpectFailure(collectionId, '//Bob');",4343 "err": {},4344 "uuid": "d1ef4c9e-3e82-4c0d-a7a1-c4f210d1ab74",4345 "parentUUID": null,4346 "isHook": false,4347 "skipped": true4348 },4349 {4350 "title": "fails when OwnerCanDestroy == false",4351 "fullTitle": "(!negative test!) integration test: ext. destroyCollection(): fails when OwnerCanDestroy == false",4352 "timedOut": false,4353 "duration": 0,4354 "state": null,4355 "speed": null,4356 "pass": false,4357 "fail": false,4358 "pending": false,4359 "context": null,4360 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionLimitsExpectSuccess(alice, collectionId, { OwnerCanDestroy: false });\nawait helpers_1.destroyCollectionExpectFailure(collectionId, '//Alice');",4361 "err": {},4362 "uuid": "903a5aa7-495c-40da-8140-c165911e13dd",4363 "parentUUID": null,4364 "isHook": false,4365 "skipped": true4366 }4367 ],4368 "suites": [],4369 "passes": [],4370 "failures": [],4371 "pending": [],4372 "skipped": [4373 "53dcbc2e-6a9b-46e6-8548-8a9713b3208c",4374 "c9193aa7-25a6-429d-878f-3150a9f87104",4375 "470c05d3-d36a-4638-a972-45af56d80408",4376 "d1ef4c9e-3e82-4c0d-a7a1-c4f210d1ab74",4377 "903a5aa7-495c-40da-8140-c165911e13dd"4378 ],4379 "duration": 0,4380 "root": false,4381 "rootEmpty": false,4382 "_timeout": 99999994383 },4384 {4385 "uuid": "b82eb7b3-f4de-4127-b330-42ebda6df15a",4386 "title": "Integration Test enableContractSponsoring",4387 "fullFile": "/nft_parachain/tests/src/enableContractSponsoring.test.ts",4388 "file": "/src/enableContractSponsoring.test.ts",4389 "beforeHooks": [],4390 "afterHooks": [],4391 "tests": [4392 {4393 "title": "ensure tx fee is paid from endowment",4394 "fullTitle": "Integration Test enableContractSponsoring ensure tx fee is paid from endowment",4395 "timedOut": false,4396 "duration": 0,4397 "state": null,4398 "speed": null,4399 "pass": false,4400 "fail": false,4401 "pending": true,4402 "context": null,4403 "code": "",4404 "err": {},4405 "uuid": "0ae636f0-531e-47d5-a219-33329a247bef",4406 "parentUUID": null,4407 "isHook": false,4408 "skipped": false4409 },4410 {4411 "title": "ensure it can be enabled twice",4412 "fullTitle": "Integration Test enableContractSponsoring ensure it can be enabled twice",4413 "timedOut": false,4414 "duration": 0,4415 "state": null,4416 "speed": null,4417 "pass": false,4418 "fail": false,4419 "pending": true,4420 "context": null,4421 "code": "",4422 "err": {},4423 "uuid": "810ed4cb-bb60-4225-aecd-8b6f089a5469",4424 "parentUUID": null,4425 "isHook": false,4426 "skipped": false4427 },4428 {4429 "title": "ensure it can be disabled twice",4430 "fullTitle": "Integration Test enableContractSponsoring ensure it can be disabled twice",4431 "timedOut": false,4432 "duration": 0,4433 "state": null,4434 "speed": null,4435 "pass": false,4436 "fail": false,4437 "pending": true,4438 "context": null,4439 "code": "",4440 "err": {},4441 "uuid": "133f6180-6c1c-4a81-a037-2bbc883f6c0e",4442 "parentUUID": null,4443 "isHook": false,4444 "skipped": false4445 },4446 {4447 "title": "ensure it can be re-enabled",4448 "fullTitle": "Integration Test enableContractSponsoring ensure it can be re-enabled",4449 "timedOut": false,4450 "duration": 0,4451 "state": null,4452 "speed": null,4453 "pass": false,4454 "fail": false,4455 "pending": true,4456 "context": null,4457 "code": "",4458 "err": {},4459 "uuid": "7436de7a-9afc-4b17-b1d5-83d81324757e",4460 "parentUUID": null,4461 "isHook": false,4462 "skipped": false4463 }4464 ],4465 "suites": [],4466 "passes": [],4467 "failures": [],4468 "pending": [4469 "0ae636f0-531e-47d5-a219-33329a247bef",4470 "810ed4cb-bb60-4225-aecd-8b6f089a5469",4471 "133f6180-6c1c-4a81-a037-2bbc883f6c0e",4472 "7436de7a-9afc-4b17-b1d5-83d81324757e"4473 ],4474 "skipped": [],4475 "duration": 0,4476 "root": false,4477 "rootEmpty": false,4478 "_timeout": 99999994479 },4480 {4481 "uuid": "0ea1b6f0-3109-4184-92a0-58b87521268a",4482 "title": "Negative Integration Test enableContractSponsoring",4483 "fullFile": "/nft_parachain/tests/src/enableContractSponsoring.test.ts",4484 "file": "/src/enableContractSponsoring.test.ts",4485 "beforeHooks": [],4486 "afterHooks": [],4487 "tests": [4488 {4489 "title": "fails when called for non-contract address",4490 "fullTitle": "Negative Integration Test enableContractSponsoring fails when called for non-contract address",4491 "timedOut": false,4492 "duration": 0,4493 "state": null,4494 "speed": null,4495 "pass": false,4496 "fail": false,4497 "pending": true,4498 "context": null,4499 "code": "",4500 "err": {},4501 "uuid": "bb3cf798-d40c-4f39-8cdc-90775e1e3b89",4502 "parentUUID": null,4503 "isHook": false,4504 "skipped": false4505 },4506 {4507 "title": "fails when called by non-owning user",4508 "fullTitle": "Negative Integration Test enableContractSponsoring fails when called by non-owning user",4509 "timedOut": false,4510 "duration": 0,4511 "state": null,4512 "speed": null,4513 "pass": false,4514 "fail": false,4515 "pending": true,4516 "context": null,4517 "code": "",4518 "err": {},4519 "uuid": "09fe0e7e-13a1-4d61-a3ed-01016a39b5b6",4520 "parentUUID": null,4521 "isHook": false,4522 "skipped": false4523 }4524 ],4525 "suites": [],4526 "passes": [],4527 "failures": [],4528 "pending": [4529 "bb3cf798-d40c-4f39-8cdc-90775e1e3b89",4530 "09fe0e7e-13a1-4d61-a3ed-01016a39b5b6"4531 ],4532 "skipped": [],4533 "duration": 0,4534 "root": false,4535 "rootEmpty": false,4536 "_timeout": 99999994537 },4538 {4539 "uuid": "f9b63262-28cc-416a-b570-70da5d8f65f4",4540 "title": "Enable/Disable Transfers",4541 "fullFile": "/nft_parachain/tests/src/enableDisableTransfer.test.ts",4542 "file": "/src/enableDisableTransfer.test.ts",4543 "beforeHooks": [],4544 "afterHooks": [],4545 "tests": [4546 {4547 "title": "User can transfer token with enabled transfer flag",4548 "fullTitle": "Enable/Disable Transfers User can transfer token with enabled transfer flag",4549 "timedOut": false,4550 "duration": 0,4551 "state": null,4552 "speed": null,4553 "pass": false,4554 "fail": false,4555 "pending": false,4556 "context": null,4557 "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});",4558 "err": {},4559 "uuid": "40955e62-05af-4179-be1d-5f281075f39c",4560 "parentUUID": null,4561 "isHook": false,4562 "skipped": true4563 },4564 {4565 "title": "User can'n transfer token with disabled transfer flag",4566 "fullTitle": "Enable/Disable Transfers User can'n transfer token with disabled transfer flag",4567 "timedOut": false,4568 "duration": 0,4569 "state": null,4570 "speed": null,4571 "pass": false,4572 "fail": false,4573 "pending": false,4574 "context": null,4575 "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});",4576 "err": {},4577 "uuid": "9393b0ed-dc59-4b6b-9934-f48351b5cc36",4578 "parentUUID": null,4579 "isHook": false,4580 "skipped": true4581 }4582 ],4583 "suites": [],4584 "passes": [],4585 "failures": [],4586 "pending": [],4587 "skipped": [4588 "40955e62-05af-4179-be1d-5f281075f39c",4589 "9393b0ed-dc59-4b6b-9934-f48351b5cc36"4590 ],4591 "duration": 0,4592 "root": false,4593 "rootEmpty": false,4594 "_timeout": 99999994595 },4596 {4597 "uuid": "64ceb3ce-485a-4092-96b9-0918cbcbb806",4598 "title": "Negative Enable/Disable Transfers",4599 "fullFile": "/nft_parachain/tests/src/enableDisableTransfer.test.ts",4600 "file": "/src/enableDisableTransfer.test.ts",4601 "beforeHooks": [],4602 "afterHooks": [],4603 "tests": [4604 {4605 "title": "Non-owner cannot change transfer flag",4606 "fullTitle": "Negative Enable/Disable Transfers Non-owner cannot change transfer flag",4607 "timedOut": false,4608 "duration": 0,4609 "state": null,4610 "speed": null,4611 "pass": false,4612 "fail": false,4613 "pending": false,4614 "context": null,4615 "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});",4616 "err": {},4617 "uuid": "5e8bf0a6-4130-427d-8aa0-a7e5de676d9c",4618 "parentUUID": null,4619 "isHook": false,4620 "skipped": true4621 }4622 ],4623 "suites": [],4624 "passes": [],4625 "failures": [],4626 "pending": [],4627 "skipped": [4628 "5e8bf0a6-4130-427d-8aa0-a7e5de676d9c"4629 ],4630 "duration": 0,4631 "root": false,4632 "rootEmpty": false,4633 "_timeout": 99999994634 },4635 {4636 "uuid": "166a2b99-feef-4313-a348-0c84514b7e19",4637 "title": "EVM allowlist",4638 "fullFile": "/nft_parachain/tests/src/eth/allowlist.test.ts",4639 "file": "/src/eth/allowlist.test.ts",4640 "beforeHooks": [],4641 "afterHooks": [],4642 "tests": [4643 {4644 "title": "Contract allowlist can be toggled",4645 "fullTitle": "EVM allowlist Contract allowlist can be toggled",4646 "timedOut": false,4647 "duration": 0,4648 "state": null,4649 "speed": null,4650 "pass": false,4651 "fail": false,4652 "pending": false,4653 "context": null,4654 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4655 "err": {},4656 "uuid": "8a2553da-4d76-4d01-a46b-0c7aeda8f17e",4657 "parentUUID": null,4658 "isHook": false,4659 "skipped": true4660 },4661 {4662 "title": "Non-whitelisted user can't call contract with allowlist enabled",4663 "fullTitle": "EVM allowlist Non-whitelisted user can't call contract with allowlist enabled",4664 "timedOut": false,4665 "duration": 0,4666 "state": null,4667 "speed": null,4668 "pass": false,4669 "fail": false,4670 "pending": false,4671 "context": null,4672 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4673 "err": {},4674 "uuid": "6bfb1246-7056-4272-95a5-16c071445167",4675 "parentUUID": null,4676 "isHook": false,4677 "skipped": true4678 }4679 ],4680 "suites": [],4681 "passes": [],4682 "failures": [],4683 "pending": [],4684 "skipped": [4685 "8a2553da-4d76-4d01-a46b-0c7aeda8f17e",4686 "6bfb1246-7056-4272-95a5-16c071445167"4687 ],4688 "duration": 0,4689 "root": false,4690 "rootEmpty": false,4691 "_timeout": 99999994692 },4693 {4694 "uuid": "1ef94075-5c71-4a69-8fee-0243a30ecf92",4695 "title": "Contract calls",4696 "fullFile": "/nft_parachain/tests/src/eth/base.test.ts",4697 "file": "/src/eth/base.test.ts",4698 "beforeHooks": [],4699 "afterHooks": [],4700 "tests": [4701 {4702 "title": "Call of simple contract fee is less than 0.2 UNQ",4703 "fullTitle": "Contract calls Call of simple contract fee is less than 0.2 UNQ",4704 "timedOut": false,4705 "duration": 0,4706 "state": null,4707 "speed": null,4708 "pass": false,4709 "fail": false,4710 "pending": false,4711 "context": null,4712 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4713 "err": {},4714 "uuid": "2e8f1e63-d243-4508-8c90-83fe6bebf0c8",4715 "parentUUID": null,4716 "isHook": false,4717 "skipped": true4718 },4719 {4720 "title": "Balance transfer fee is less than 0.2 UNQ",4721 "fullTitle": "Contract calls Balance transfer fee is less than 0.2 UNQ",4722 "timedOut": false,4723 "duration": 0,4724 "state": null,4725 "speed": null,4726 "pass": false,4727 "fail": false,4728 "pending": false,4729 "context": null,4730 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4731 "err": {},4732 "uuid": "a49dfe5b-78a8-4972-83c8-8f4838216a25",4733 "parentUUID": null,4734 "isHook": false,4735 "skipped": true4736 }4737 ],4738 "suites": [],4739 "passes": [],4740 "failures": [],4741 "pending": [],4742 "skipped": [4743 "2e8f1e63-d243-4508-8c90-83fe6bebf0c8",4744 "a49dfe5b-78a8-4972-83c8-8f4838216a25"4745 ],4746 "duration": 0,4747 "root": false,4748 "rootEmpty": false,4749 "_timeout": 99999994750 },4751 {4752 "uuid": "63ceb95a-b882-4cf6-a99a-aa5b4993076b",4753 "title": "Token transfer between substrate address and EVM address. Fungible",4754 "fullFile": "/nft_parachain/tests/src/eth/crossTransfer.test.ts",4755 "file": "/src/eth/crossTransfer.test.ts",4756 "beforeHooks": [],4757 "afterHooks": [],4758 "tests": [4759 {4760 "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",4761 "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",4762 "timedOut": false,4763 "duration": 0,4764 "state": null,4765 "speed": null,4766 "pass": false,4767 "fail": false,4768 "pending": false,4769 "context": null,4770 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4771 "err": {},4772 "uuid": "016bdad3-72c1-4b25-a25f-fa786dd3c92d",4773 "parentUUID": null,4774 "isHook": false,4775 "skipped": true4776 },4777 {4778 "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",4779 "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",4780 "timedOut": false,4781 "duration": 0,4782 "state": null,4783 "speed": null,4784 "pass": false,4785 "fail": false,4786 "pending": false,4787 "context": null,4788 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4789 "err": {},4790 "uuid": "dc9e2f55-1603-434e-8bdc-d3669c24e2e4",4791 "parentUUID": null,4792 "isHook": false,4793 "skipped": true4794 }4795 ],4796 "suites": [],4797 "passes": [],4798 "failures": [],4799 "pending": [],4800 "skipped": [4801 "016bdad3-72c1-4b25-a25f-fa786dd3c92d",4802 "dc9e2f55-1603-434e-8bdc-d3669c24e2e4"4803 ],4804 "duration": 0,4805 "root": false,4806 "rootEmpty": false,4807 "_timeout": 99999994808 },4809 {4810 "uuid": "3bcae81c-07ce-48a2-aa69-0d8c8e27c623",4811 "title": "Token transfer between substrate address and EVM address. NFT",4812 "fullFile": "/nft_parachain/tests/src/eth/crossTransfer.test.ts",4813 "file": "/src/eth/crossTransfer.test.ts",4814 "beforeHooks": [],4815 "afterHooks": [],4816 "tests": [4817 {4818 "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",4819 "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",4820 "timedOut": false,4821 "duration": 0,4822 "state": null,4823 "speed": null,4824 "pass": false,4825 "fail": false,4826 "pending": false,4827 "context": null,4828 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4829 "err": {},4830 "uuid": "687f48a8-d2de-4888-98c2-b23c2e116691",4831 "parentUUID": null,4832 "isHook": false,4833 "skipped": true4834 },4835 {4836 "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",4837 "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",4838 "timedOut": false,4839 "duration": 0,4840 "state": null,4841 "speed": null,4842 "pass": false,4843 "fail": false,4844 "pending": false,4845 "context": null,4846 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4847 "err": {},4848 "uuid": "e8feec8e-382f-487c-b76a-5acc10da9bce",4849 "parentUUID": null,4850 "isHook": false,4851 "skipped": true4852 }4853 ],4854 "suites": [],4855 "passes": [],4856 "failures": [],4857 "pending": [],4858 "skipped": [4859 "687f48a8-d2de-4888-98c2-b23c2e116691",4860 "e8feec8e-382f-487c-b76a-5acc10da9bce"4861 ],4862 "duration": 0,4863 "root": false,4864 "rootEmpty": false,4865 "_timeout": 99999994866 },4867 {4868 "uuid": "e28ed94d-9043-43ab-b3d3-bdada9894d84",4869 "title": "Fungible: Information getting",4870 "fullFile": "/nft_parachain/tests/src/eth/fungible.test.ts",4871 "file": "/src/eth/fungible.test.ts",4872 "beforeHooks": [],4873 "afterHooks": [],4874 "tests": [4875 {4876 "title": "totalSupply",4877 "fullTitle": "Fungible: Information getting totalSupply",4878 "timedOut": false,4879 "duration": 0,4880 "state": null,4881 "speed": null,4882 "pass": false,4883 "fail": false,4884 "pending": false,4885 "context": null,4886 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4887 "err": {},4888 "uuid": "a426de65-2a4a-4b02-9c67-45d296bf7dc1",4889 "parentUUID": null,4890 "isHook": false,4891 "skipped": true4892 },4893 {4894 "title": "balanceOf",4895 "fullTitle": "Fungible: Information getting balanceOf",4896 "timedOut": false,4897 "duration": 0,4898 "state": null,4899 "speed": null,4900 "pass": false,4901 "fail": false,4902 "pending": false,4903 "context": null,4904 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4905 "err": {},4906 "uuid": "c1081390-abe4-4727-b086-68af2d8bd821",4907 "parentUUID": null,4908 "isHook": false,4909 "skipped": true4910 }4911 ],4912 "suites": [],4913 "passes": [],4914 "failures": [],4915 "pending": [],4916 "skipped": [4917 "a426de65-2a4a-4b02-9c67-45d296bf7dc1",4918 "c1081390-abe4-4727-b086-68af2d8bd821"4919 ],4920 "duration": 0,4921 "root": false,4922 "rootEmpty": false,4923 "_timeout": 99999994924 },4925 {4926 "uuid": "38e5c06d-bbc9-4bae-bc0b-45b5475ebd53",4927 "title": "Fungible: Plain calls",4928 "fullFile": "/nft_parachain/tests/src/eth/fungible.test.ts",4929 "file": "/src/eth/fungible.test.ts",4930 "beforeHooks": [],4931 "afterHooks": [],4932 "tests": [4933 {4934 "title": "Can perform approve()",4935 "fullTitle": "Fungible: Plain calls Can perform approve()",4936 "timedOut": false,4937 "duration": 0,4938 "state": null,4939 "speed": null,4940 "pass": false,4941 "fail": false,4942 "pending": false,4943 "context": null,4944 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4945 "err": {},4946 "uuid": "61154419-0a48-44b1-ae0f-4b3dd6e3a085",4947 "parentUUID": null,4948 "isHook": false,4949 "skipped": true4950 },4951 {4952 "title": "Can perform transferFrom()",4953 "fullTitle": "Fungible: Plain calls Can perform transferFrom()",4954 "timedOut": false,4955 "duration": 0,4956 "state": null,4957 "speed": null,4958 "pass": false,4959 "fail": false,4960 "pending": false,4961 "context": null,4962 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4963 "err": {},4964 "uuid": "25aa7368-095b-4f36-849e-2940ca117fba",4965 "parentUUID": null,4966 "isHook": false,4967 "skipped": true4968 },4969 {4970 "title": "Can perform transfer()",4971 "fullTitle": "Fungible: Plain calls Can perform transfer()",4972 "timedOut": false,4973 "duration": 0,4974 "state": null,4975 "speed": null,4976 "pass": false,4977 "fail": false,4978 "pending": false,4979 "context": null,4980 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",4981 "err": {},4982 "uuid": "26bd4d69-70a0-41e3-9019-b1a9c61dd4db",4983 "parentUUID": null,4984 "isHook": false,4985 "skipped": true4986 }4987 ],4988 "suites": [],4989 "passes": [],4990 "failures": [],4991 "pending": [],4992 "skipped": [4993 "61154419-0a48-44b1-ae0f-4b3dd6e3a085",4994 "25aa7368-095b-4f36-849e-2940ca117fba",4995 "26bd4d69-70a0-41e3-9019-b1a9c61dd4db"4996 ],4997 "duration": 0,4998 "root": false,4999 "rootEmpty": false,5000 "_timeout": 99999995001 },5002 {5003 "uuid": "f64e15cb-ff19-483f-8370-1717a0e52137",5004 "title": "Fungible: Fees",5005 "fullFile": "/nft_parachain/tests/src/eth/fungible.test.ts",5006 "file": "/src/eth/fungible.test.ts",5007 "beforeHooks": [],5008 "afterHooks": [],5009 "tests": [5010 {5011 "title": "approve() call fee is less than 0.2UNQ",5012 "fullTitle": "Fungible: Fees approve() call fee is less than 0.2UNQ",5013 "timedOut": false,5014 "duration": 0,5015 "state": null,5016 "speed": null,5017 "pass": false,5018 "fail": false,5019 "pending": false,5020 "context": null,5021 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5022 "err": {},5023 "uuid": "18ee49b0-8612-4674-9e66-8e0855b1bed7",5024 "parentUUID": null,5025 "isHook": false,5026 "skipped": true5027 },5028 {5029 "title": "transferFrom() call fee is less than 0.2UNQ",5030 "fullTitle": "Fungible: Fees transferFrom() call fee is less than 0.2UNQ",5031 "timedOut": false,5032 "duration": 0,5033 "state": null,5034 "speed": null,5035 "pass": false,5036 "fail": false,5037 "pending": false,5038 "context": null,5039 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5040 "err": {},5041 "uuid": "8604d5a4-bb0d-4ce7-b997-3bb941d2dadc",5042 "parentUUID": null,5043 "isHook": false,5044 "skipped": true5045 },5046 {5047 "title": "transfer() call fee is less than 0.2UNQ",5048 "fullTitle": "Fungible: Fees transfer() call fee is less than 0.2UNQ",5049 "timedOut": false,5050 "duration": 0,5051 "state": null,5052 "speed": null,5053 "pass": false,5054 "fail": false,5055 "pending": false,5056 "context": null,5057 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5058 "err": {},5059 "uuid": "3b472b88-09a8-499e-8ae3-0082a0fd2b7e",5060 "parentUUID": null,5061 "isHook": false,5062 "skipped": true5063 }5064 ],5065 "suites": [],5066 "passes": [],5067 "failures": [],5068 "pending": [],5069 "skipped": [5070 "18ee49b0-8612-4674-9e66-8e0855b1bed7",5071 "8604d5a4-bb0d-4ce7-b997-3bb941d2dadc",5072 "3b472b88-09a8-499e-8ae3-0082a0fd2b7e"5073 ],5074 "duration": 0,5075 "root": false,5076 "rootEmpty": false,5077 "_timeout": 99999995078 },5079 {5080 "uuid": "0bd2f0db-3ea7-4d52-b1bd-b39e365c4611",5081 "title": "Fungible: Substrate calls",5082 "fullFile": "/nft_parachain/tests/src/eth/fungible.test.ts",5083 "file": "/src/eth/fungible.test.ts",5084 "beforeHooks": [],5085 "afterHooks": [],5086 "tests": [5087 {5088 "title": "Events emitted for approve()",5089 "fullTitle": "Fungible: Substrate calls Events emitted for approve()",5090 "timedOut": false,5091 "duration": 0,5092 "state": null,5093 "speed": null,5094 "pass": false,5095 "fail": false,5096 "pending": false,5097 "context": null,5098 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5099 "err": {},5100 "uuid": "aa6f7c90-68ff-4b90-85cf-a35adfd5df6c",5101 "parentUUID": null,5102 "isHook": false,5103 "skipped": true5104 },5105 {5106 "title": "Events emitted for transferFrom()",5107 "fullTitle": "Fungible: Substrate calls Events emitted for transferFrom()",5108 "timedOut": false,5109 "duration": 0,5110 "state": null,5111 "speed": null,5112 "pass": false,5113 "fail": false,5114 "pending": false,5115 "context": null,5116 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5117 "err": {},5118 "uuid": "cf7b96d6-e4e1-4233-9d7b-4a072c9c200d",5119 "parentUUID": null,5120 "isHook": false,5121 "skipped": true5122 },5123 {5124 "title": "Events emitted for transfer()",5125 "fullTitle": "Fungible: Substrate calls Events emitted for transfer()",5126 "timedOut": false,5127 "duration": 0,5128 "state": null,5129 "speed": null,5130 "pass": false,5131 "fail": false,5132 "pending": false,5133 "context": null,5134 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5135 "err": {},5136 "uuid": "2bba3c20-33bd-4365-bce6-a415c26f86b3",5137 "parentUUID": null,5138 "isHook": false,5139 "skipped": true5140 }5141 ],5142 "suites": [],5143 "passes": [],5144 "failures": [],5145 "pending": [],5146 "skipped": [5147 "aa6f7c90-68ff-4b90-85cf-a35adfd5df6c",5148 "cf7b96d6-e4e1-4233-9d7b-4a072c9c200d",5149 "2bba3c20-33bd-4365-bce6-a415c26f86b3"5150 ],5151 "duration": 0,5152 "root": false,5153 "rootEmpty": false,5154 "_timeout": 99999995155 },5156 {5157 "uuid": "ba3b6c83-0f9f-4fb8-8ad4-d53ef53312f7",5158 "title": "Helpers sanity check",5159 "fullFile": "/nft_parachain/tests/src/eth/helpersSmoke.test.ts",5160 "file": "/src/eth/helpersSmoke.test.ts",5161 "beforeHooks": [],5162 "afterHooks": [],5163 "tests": [5164 {5165 "title": "Contract owner is recorded",5166 "fullTitle": "Helpers sanity check Contract owner is recorded",5167 "timedOut": false,5168 "duration": 0,5169 "state": null,5170 "speed": null,5171 "pass": false,5172 "fail": false,5173 "pending": false,5174 "context": null,5175 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5176 "err": {},5177 "uuid": "051817e6-7916-4f3b-8f07-53399cadceb9",5178 "parentUUID": null,5179 "isHook": false,5180 "skipped": true5181 },5182 {5183 "title": "Flipper is working",5184 "fullTitle": "Helpers sanity check Flipper is working",5185 "timedOut": false,5186 "duration": 0,5187 "state": null,5188 "speed": null,5189 "pass": false,5190 "fail": false,5191 "pending": false,5192 "context": null,5193 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5194 "err": {},5195 "uuid": "ed6828c4-1e4d-4019-a9ab-09908d92a125",5196 "parentUUID": null,5197 "isHook": false,5198 "skipped": true5199 }5200 ],5201 "suites": [],5202 "passes": [],5203 "failures": [],5204 "pending": [],5205 "skipped": [5206 "051817e6-7916-4f3b-8f07-53399cadceb9",5207 "ed6828c4-1e4d-4019-a9ab-09908d92a125"5208 ],5209 "duration": 0,5210 "root": false,5211 "rootEmpty": false,5212 "_timeout": 99999995213 },5214 {5215 "uuid": "f55a84b3-636b-41ab-a5b4-bc3c2a5b18d0",5216 "title": "Matcher contract usage",5217 "fullFile": "/nft_parachain/tests/src/eth/marketplace/marketplace.test.ts",5218 "file": "/src/eth/marketplace/marketplace.test.ts",5219 "beforeHooks": [],5220 "afterHooks": [],5221 "tests": [5222 {5223 "title": "With UNQ",5224 "fullTitle": "Matcher contract usage With UNQ",5225 "timedOut": false,5226 "duration": 0,5227 "state": null,5228 "speed": null,5229 "pass": false,5230 "fail": false,5231 "pending": false,5232 "context": null,5233 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5234 "err": {},5235 "uuid": "2f01ebb5-2705-439a-9540-390408e547c0",5236 "parentUUID": null,5237 "isHook": false,5238 "skipped": true5239 },5240 {5241 "title": "With custom ERC20",5242 "fullTitle": "Matcher contract usage With custom ERC20",5243 "timedOut": false,5244 "duration": 0,5245 "state": null,5246 "speed": null,5247 "pass": false,5248 "fail": false,5249 "pending": false,5250 "context": null,5251 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5252 "err": {},5253 "uuid": "ccf9e063-ac4a-4c78-a9ed-13deb1d5e2ae",5254 "parentUUID": null,5255 "isHook": false,5256 "skipped": true5257 },5258 {5259 "title": "With escrow",5260 "fullTitle": "Matcher contract usage With escrow",5261 "timedOut": false,5262 "duration": 0,5263 "state": null,5264 "speed": null,5265 "pass": false,5266 "fail": false,5267 "pending": false,5268 "context": null,5269 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5270 "err": {},5271 "uuid": "2ad4094c-5a03-4f59-8140-a973b6f16e87",5272 "parentUUID": null,5273 "isHook": false,5274 "skipped": true5275 }5276 ],5277 "suites": [],5278 "passes": [],5279 "failures": [],5280 "pending": [],5281 "skipped": [5282 "2f01ebb5-2705-439a-9540-390408e547c0",5283 "ccf9e063-ac4a-4c78-a9ed-13deb1d5e2ae",5284 "2ad4094c-5a03-4f59-8140-a973b6f16e87"5285 ],5286 "duration": 0,5287 "root": false,5288 "rootEmpty": false,5289 "_timeout": 99999995290 },5291 {5292 "uuid": "9c8dfde9-8dc0-4258-95ec-998c0cbd658b",5293 "title": "Common metadata",5294 "fullFile": "/nft_parachain/tests/src/eth/metadata.test.ts",5295 "file": "/src/eth/metadata.test.ts",5296 "beforeHooks": [],5297 "afterHooks": [],5298 "tests": [5299 {5300 "title": "Returns collection name",5301 "fullTitle": "Common metadata Returns collection name",5302 "timedOut": false,5303 "duration": 0,5304 "state": null,5305 "speed": null,5306 "pass": false,5307 "fail": false,5308 "pending": false,5309 "context": null,5310 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5311 "err": {},5312 "uuid": "6388af9f-2efe-42ba-bfd7-cd29fabd8af9",5313 "parentUUID": null,5314 "isHook": false,5315 "skipped": true5316 },5317 {5318 "title": "Returns symbol name",5319 "fullTitle": "Common metadata Returns symbol name",5320 "timedOut": false,5321 "duration": 0,5322 "state": null,5323 "speed": null,5324 "pass": false,5325 "fail": false,5326 "pending": false,5327 "context": null,5328 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5329 "err": {},5330 "uuid": "698a3dfb-824b-4e20-99fa-9ff4a01cc206",5331 "parentUUID": null,5332 "isHook": false,5333 "skipped": true5334 }5335 ],5336 "suites": [],5337 "passes": [],5338 "failures": [],5339 "pending": [],5340 "skipped": [5341 "6388af9f-2efe-42ba-bfd7-cd29fabd8af9",5342 "698a3dfb-824b-4e20-99fa-9ff4a01cc206"5343 ],5344 "duration": 0,5345 "root": false,5346 "rootEmpty": false,5347 "_timeout": 99999995348 },5349 {5350 "uuid": "621af845-f162-42a3-b591-dfba99fe7e04",5351 "title": "Fungible metadata",5352 "fullFile": "/nft_parachain/tests/src/eth/metadata.test.ts",5353 "file": "/src/eth/metadata.test.ts",5354 "beforeHooks": [],5355 "afterHooks": [],5356 "tests": [5357 {5358 "title": "Returns fungible decimals",5359 "fullTitle": "Fungible metadata Returns fungible decimals",5360 "timedOut": false,5361 "duration": 0,5362 "state": null,5363 "speed": null,5364 "pass": false,5365 "fail": false,5366 "pending": false,5367 "context": null,5368 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5369 "err": {},5370 "uuid": "f09618db-1592-4fb9-acf1-b71ecf10b3d1",5371 "parentUUID": null,5372 "isHook": false,5373 "skipped": true5374 }5375 ],5376 "suites": [],5377 "passes": [],5378 "failures": [],5379 "pending": [],5380 "skipped": [5381 "f09618db-1592-4fb9-acf1-b71ecf10b3d1"5382 ],5383 "duration": 0,5384 "root": false,5385 "rootEmpty": false,5386 "_timeout": 99999995387 },5388 {5389 "uuid": "5e6c13ef-795c-416a-9c78-ead6a32d3b7d",5390 "title": "EVM Migrations",5391 "fullFile": "/nft_parachain/tests/src/eth/migration.test.ts",5392 "file": "/src/eth/migration.test.ts",5393 "beforeHooks": [],5394 "afterHooks": [],5395 "tests": [5396 {5397 "title": "Deploy contract saved state",5398 "fullTitle": "EVM Migrations Deploy contract saved state",5399 "timedOut": false,5400 "duration": 0,5401 "state": null,5402 "speed": null,5403 "pass": false,5404 "fail": false,5405 "pending": false,5406 "context": null,5407 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5408 "err": {},5409 "uuid": "a5a57dce-aec7-43f8-a4fb-8b7f28c8b098",5410 "parentUUID": null,5411 "isHook": false,5412 "skipped": true5413 }5414 ],5415 "suites": [],5416 "passes": [],5417 "failures": [],5418 "pending": [],5419 "skipped": [5420 "a5a57dce-aec7-43f8-a4fb-8b7f28c8b098"5421 ],5422 "duration": 0,5423 "root": false,5424 "rootEmpty": false,5425 "_timeout": 99999995426 },5427 {5428 "uuid": "29c89e20-ce3a-4cc7-b5ce-cf92a2f775c7",5429 "title": "NFT: Information getting",5430 "fullFile": "/nft_parachain/tests/src/eth/nonFungible.test.ts",5431 "file": "/src/eth/nonFungible.test.ts",5432 "beforeHooks": [],5433 "afterHooks": [],5434 "tests": [5435 {5436 "title": "totalSupply",5437 "fullTitle": "NFT: Information getting totalSupply",5438 "timedOut": false,5439 "duration": 0,5440 "state": null,5441 "speed": null,5442 "pass": false,5443 "fail": false,5444 "pending": false,5445 "context": null,5446 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5447 "err": {},5448 "uuid": "1a7693a8-a035-43a6-ada3-9789e96b8afc",5449 "parentUUID": null,5450 "isHook": false,5451 "skipped": true5452 },5453 {5454 "title": "balanceOf",5455 "fullTitle": "NFT: Information getting balanceOf",5456 "timedOut": false,5457 "duration": 0,5458 "state": null,5459 "speed": null,5460 "pass": false,5461 "fail": false,5462 "pending": false,5463 "context": null,5464 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5465 "err": {},5466 "uuid": "5ed76965-d2ea-4fcb-aca5-b2d941118ca4",5467 "parentUUID": null,5468 "isHook": false,5469 "skipped": true5470 },5471 {5472 "title": "ownerOf",5473 "fullTitle": "NFT: Information getting ownerOf",5474 "timedOut": false,5475 "duration": 0,5476 "state": null,5477 "speed": null,5478 "pass": false,5479 "fail": false,5480 "pending": false,5481 "context": null,5482 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5483 "err": {},5484 "uuid": "67ee6485-e697-42c9-a3eb-304af1ac2530",5485 "parentUUID": null,5486 "isHook": false,5487 "skipped": true5488 }5489 ],5490 "suites": [],5491 "passes": [],5492 "failures": [],5493 "pending": [],5494 "skipped": [5495 "1a7693a8-a035-43a6-ada3-9789e96b8afc",5496 "5ed76965-d2ea-4fcb-aca5-b2d941118ca4",5497 "67ee6485-e697-42c9-a3eb-304af1ac2530"5498 ],5499 "duration": 0,5500 "root": false,5501 "rootEmpty": false,5502 "_timeout": 99999995503 },5504 {5505 "uuid": "dd3c3df9-87e7-4de4-9a10-86603947cd0a",5506 "title": "NFT: Plain calls",5507 "fullFile": "/nft_parachain/tests/src/eth/nonFungible.test.ts",5508 "file": "/src/eth/nonFungible.test.ts",5509 "beforeHooks": [],5510 "afterHooks": [],5511 "tests": [5512 {5513 "title": "Can perform mint()",5514 "fullTitle": "NFT: Plain calls Can perform mint()",5515 "timedOut": false,5516 "duration": 0,5517 "state": null,5518 "speed": null,5519 "pass": false,5520 "fail": false,5521 "pending": false,5522 "context": null,5523 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5524 "err": {},5525 "uuid": "17886293-1b92-4e5e-8e87-b877c04eb0d7",5526 "parentUUID": null,5527 "isHook": false,5528 "skipped": true5529 },5530 {5531 "title": "Can perform burn()",5532 "fullTitle": "NFT: Plain calls Can perform burn()",5533 "timedOut": false,5534 "duration": 0,5535 "state": null,5536 "speed": null,5537 "pass": false,5538 "fail": false,5539 "pending": false,5540 "context": null,5541 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5542 "err": {},5543 "uuid": "777af62f-e701-4586-8b91-3136588eedc3",5544 "parentUUID": null,5545 "isHook": false,5546 "skipped": true5547 },5548 {5549 "title": "Can perform approve()",5550 "fullTitle": "NFT: Plain calls Can perform approve()",5551 "timedOut": false,5552 "duration": 0,5553 "state": null,5554 "speed": null,5555 "pass": false,5556 "fail": false,5557 "pending": false,5558 "context": null,5559 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5560 "err": {},5561 "uuid": "87cca972-d2fe-46d3-b8d9-78f13f0eeb56",5562 "parentUUID": null,5563 "isHook": false,5564 "skipped": true5565 },5566 {5567 "title": "Can perform transferFrom()",5568 "fullTitle": "NFT: Plain calls Can perform transferFrom()",5569 "timedOut": false,5570 "duration": 0,5571 "state": null,5572 "speed": null,5573 "pass": false,5574 "fail": false,5575 "pending": false,5576 "context": null,5577 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5578 "err": {},5579 "uuid": "bd6c2bd1-cf7d-417c-8d97-29bb263bd52f",5580 "parentUUID": null,5581 "isHook": false,5582 "skipped": true5583 },5584 {5585 "title": "Can perform transfer()",5586 "fullTitle": "NFT: Plain calls Can perform transfer()",5587 "timedOut": false,5588 "duration": 0,5589 "state": null,5590 "speed": null,5591 "pass": false,5592 "fail": false,5593 "pending": false,5594 "context": null,5595 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5596 "err": {},5597 "uuid": "9a9d9fce-0eae-4350-bb31-7bd5cddfa379",5598 "parentUUID": null,5599 "isHook": false,5600 "skipped": true5601 }5602 ],5603 "suites": [],5604 "passes": [],5605 "failures": [],5606 "pending": [],5607 "skipped": [5608 "17886293-1b92-4e5e-8e87-b877c04eb0d7",5609 "777af62f-e701-4586-8b91-3136588eedc3",5610 "87cca972-d2fe-46d3-b8d9-78f13f0eeb56",5611 "bd6c2bd1-cf7d-417c-8d97-29bb263bd52f",5612 "9a9d9fce-0eae-4350-bb31-7bd5cddfa379"5613 ],5614 "duration": 0,5615 "root": false,5616 "rootEmpty": false,5617 "_timeout": 99999995618 },5619 {5620 "uuid": "2c5ec398-8026-4f53-a652-031d46ae1b99",5621 "title": "NFT: Fees",5622 "fullFile": "/nft_parachain/tests/src/eth/nonFungible.test.ts",5623 "file": "/src/eth/nonFungible.test.ts",5624 "beforeHooks": [],5625 "afterHooks": [],5626 "tests": [5627 {5628 "title": "approve() call fee is less than 0.2UNQ",5629 "fullTitle": "NFT: Fees approve() call fee is less than 0.2UNQ",5630 "timedOut": false,5631 "duration": 0,5632 "state": null,5633 "speed": null,5634 "pass": false,5635 "fail": false,5636 "pending": false,5637 "context": null,5638 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5639 "err": {},5640 "uuid": "2a278075-6373-464b-9c11-b9ad67ec0c4a",5641 "parentUUID": null,5642 "isHook": false,5643 "skipped": true5644 },5645 {5646 "title": "transferFrom() call fee is less than 0.2UNQ",5647 "fullTitle": "NFT: Fees transferFrom() call fee is less than 0.2UNQ",5648 "timedOut": false,5649 "duration": 0,5650 "state": null,5651 "speed": null,5652 "pass": false,5653 "fail": false,5654 "pending": false,5655 "context": null,5656 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5657 "err": {},5658 "uuid": "f5bdbf22-f3c5-4ed3-8b3b-0b8f888a4658",5659 "parentUUID": null,5660 "isHook": false,5661 "skipped": true5662 },5663 {5664 "title": "transfer() call fee is less than 0.2UNQ",5665 "fullTitle": "NFT: Fees transfer() call fee is less than 0.2UNQ",5666 "timedOut": false,5667 "duration": 0,5668 "state": null,5669 "speed": null,5670 "pass": false,5671 "fail": false,5672 "pending": false,5673 "context": null,5674 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5675 "err": {},5676 "uuid": "69da8472-8f02-4763-9ff6-9c2e60bbd4d9",5677 "parentUUID": null,5678 "isHook": false,5679 "skipped": true5680 }5681 ],5682 "suites": [],5683 "passes": [],5684 "failures": [],5685 "pending": [],5686 "skipped": [5687 "2a278075-6373-464b-9c11-b9ad67ec0c4a",5688 "f5bdbf22-f3c5-4ed3-8b3b-0b8f888a4658",5689 "69da8472-8f02-4763-9ff6-9c2e60bbd4d9"5690 ],5691 "duration": 0,5692 "root": false,5693 "rootEmpty": false,5694 "_timeout": 99999995695 },5696 {5697 "uuid": "be5044de-17be-4f4f-9c43-8a5c1139142e",5698 "title": "NFT: Substrate calls",5699 "fullFile": "/nft_parachain/tests/src/eth/nonFungible.test.ts",5700 "file": "/src/eth/nonFungible.test.ts",5701 "beforeHooks": [],5702 "afterHooks": [],5703 "tests": [5704 {5705 "title": "Events emitted for mint()",5706 "fullTitle": "NFT: Substrate calls Events emitted for mint()",5707 "timedOut": false,5708 "duration": 0,5709 "state": null,5710 "speed": null,5711 "pass": false,5712 "fail": false,5713 "pending": false,5714 "context": null,5715 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5716 "err": {},5717 "uuid": "2bb08a8e-2873-4619-83bb-f39af6239a09",5718 "parentUUID": null,5719 "isHook": false,5720 "skipped": true5721 },5722 {5723 "title": "Events emitted for burn()",5724 "fullTitle": "NFT: Substrate calls Events emitted for burn()",5725 "timedOut": false,5726 "duration": 0,5727 "state": null,5728 "speed": null,5729 "pass": false,5730 "fail": false,5731 "pending": false,5732 "context": null,5733 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5734 "err": {},5735 "uuid": "d49f6eb8-d101-48fc-a414-491137650956",5736 "parentUUID": null,5737 "isHook": false,5738 "skipped": true5739 },5740 {5741 "title": "Events emitted for approve()",5742 "fullTitle": "NFT: Substrate calls Events emitted for approve()",5743 "timedOut": false,5744 "duration": 0,5745 "state": null,5746 "speed": null,5747 "pass": false,5748 "fail": false,5749 "pending": false,5750 "context": null,5751 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5752 "err": {},5753 "uuid": "57983457-a928-4a13-bb30-4802081a6197",5754 "parentUUID": null,5755 "isHook": false,5756 "skipped": true5757 },5758 {5759 "title": "Events emitted for transferFrom()",5760 "fullTitle": "NFT: Substrate calls Events emitted for transferFrom()",5761 "timedOut": false,5762 "duration": 0,5763 "state": null,5764 "speed": null,5765 "pass": false,5766 "fail": false,5767 "pending": false,5768 "context": null,5769 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5770 "err": {},5771 "uuid": "ddab55e4-95e4-4e59-9b16-ac782e667252",5772 "parentUUID": null,5773 "isHook": false,5774 "skipped": true5775 },5776 {5777 "title": "Events emitted for transfer()",5778 "fullTitle": "NFT: Substrate calls Events emitted for transfer()",5779 "timedOut": false,5780 "duration": 0,5781 "state": null,5782 "speed": null,5783 "pass": false,5784 "fail": false,5785 "pending": false,5786 "context": null,5787 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5788 "err": {},5789 "uuid": "14b7b792-d571-4ac5-92a0-c3803e8ffcf7",5790 "parentUUID": null,5791 "isHook": false,5792 "skipped": true5793 }5794 ],5795 "suites": [],5796 "passes": [],5797 "failures": [],5798 "pending": [],5799 "skipped": [5800 "2bb08a8e-2873-4619-83bb-f39af6239a09",5801 "d49f6eb8-d101-48fc-a414-491137650956",5802 "57983457-a928-4a13-bb30-4802081a6197",5803 "ddab55e4-95e4-4e59-9b16-ac782e667252",5804 "14b7b792-d571-4ac5-92a0-c3803e8ffcf7"5805 ],5806 "duration": 0,5807 "root": false,5808 "rootEmpty": false,5809 "_timeout": 99999995810 },5811 {5812 "uuid": "39e4e2ce-c9de-4260-a74f-8585fafecf1a",5813 "title": "EVM payable contracts",5814 "fullFile": "/nft_parachain/tests/src/eth/payable.test.ts",5815 "file": "/src/eth/payable.test.ts",5816 "beforeHooks": [],5817 "afterHooks": [],5818 "tests": [5819 {5820 "title": "Evm contract can receive wei from eth account",5821 "fullTitle": "EVM payable contracts Evm contract can receive wei from eth account",5822 "timedOut": false,5823 "duration": 0,5824 "state": null,5825 "speed": null,5826 "pass": false,5827 "fail": false,5828 "pending": false,5829 "context": null,5830 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5831 "err": {},5832 "uuid": "822d164c-5ac7-440a-8e76-c165898af1af",5833 "parentUUID": null,5834 "isHook": false,5835 "skipped": true5836 },5837 {5838 "title": "Evm contract can receive wei from substrate account",5839 "fullTitle": "EVM payable contracts Evm contract can receive wei from substrate account",5840 "timedOut": false,5841 "duration": 0,5842 "state": null,5843 "speed": null,5844 "pass": false,5845 "fail": false,5846 "pending": false,5847 "context": null,5848 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5849 "err": {},5850 "uuid": "e6b31921-975a-42c4-9675-bcab97445089",5851 "parentUUID": null,5852 "isHook": false,5853 "skipped": true5854 },5855 {5856 "title": "Wei sent directly to backing storage of evm contract balance is unaccounted",5857 "fullTitle": "EVM payable contracts Wei sent directly to backing storage of evm contract balance is unaccounted",5858 "timedOut": false,5859 "duration": 0,5860 "state": null,5861 "speed": null,5862 "pass": false,5863 "fail": false,5864 "pending": false,5865 "context": null,5866 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5867 "err": {},5868 "uuid": "6b49958a-fd26-40d3-a188-202fe5e5904a",5869 "parentUUID": null,5870 "isHook": false,5871 "skipped": true5872 },5873 {5874 "title": "Balance can be retrieved from evm contract",5875 "fullTitle": "EVM payable contracts Balance can be retrieved from evm contract",5876 "timedOut": false,5877 "duration": 0,5878 "state": null,5879 "speed": null,5880 "pass": false,5881 "fail": false,5882 "pending": false,5883 "context": null,5884 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5885 "err": {},5886 "uuid": "1fe5e42d-f3cb-46fd-ad4e-0c1e4525fa4f",5887 "parentUUID": null,5888 "isHook": false,5889 "skipped": true5890 }5891 ],5892 "suites": [],5893 "passes": [],5894 "failures": [],5895 "pending": [],5896 "skipped": [5897 "822d164c-5ac7-440a-8e76-c165898af1af",5898 "e6b31921-975a-42c4-9675-bcab97445089",5899 "6b49958a-fd26-40d3-a188-202fe5e5904a",5900 "1fe5e42d-f3cb-46fd-ad4e-0c1e4525fa4f"5901 ],5902 "duration": 0,5903 "root": false,5904 "rootEmpty": false,5905 "_timeout": 99999995906 },5907 {5908 "uuid": "d7123b77-e85e-4f5c-835e-25fb7ea0995c",5909 "title": "Fungible (Via EVM proxy): Information getting",5910 "fullFile": "/nft_parachain/tests/src/eth/proxy/fungibleProxy.test.ts",5911 "file": "/src/eth/proxy/fungibleProxy.test.ts",5912 "beforeHooks": [],5913 "afterHooks": [],5914 "tests": [5915 {5916 "title": "totalSupply",5917 "fullTitle": "Fungible (Via EVM proxy): Information getting totalSupply",5918 "timedOut": false,5919 "duration": 0,5920 "state": null,5921 "speed": null,5922 "pass": false,5923 "fail": false,5924 "pending": false,5925 "context": null,5926 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5927 "err": {},5928 "uuid": "44d2365a-a35d-44cc-8cc0-8494474b9d2f",5929 "parentUUID": null,5930 "isHook": false,5931 "skipped": true5932 },5933 {5934 "title": "balanceOf",5935 "fullTitle": "Fungible (Via EVM proxy): Information getting balanceOf",5936 "timedOut": false,5937 "duration": 0,5938 "state": null,5939 "speed": null,5940 "pass": false,5941 "fail": false,5942 "pending": false,5943 "context": null,5944 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5945 "err": {},5946 "uuid": "9c9cc56c-a6ab-4f3d-8928-b6a7dac1bef2",5947 "parentUUID": null,5948 "isHook": false,5949 "skipped": true5950 }5951 ],5952 "suites": [],5953 "passes": [],5954 "failures": [],5955 "pending": [],5956 "skipped": [5957 "44d2365a-a35d-44cc-8cc0-8494474b9d2f",5958 "9c9cc56c-a6ab-4f3d-8928-b6a7dac1bef2"5959 ],5960 "duration": 0,5961 "root": false,5962 "rootEmpty": false,5963 "_timeout": 99999995964 },5965 {5966 "uuid": "3d993567-a5f6-41b4-a454-426b2b0ba806",5967 "title": "Fungible (Via EVM proxy): Plain calls",5968 "fullFile": "/nft_parachain/tests/src/eth/proxy/fungibleProxy.test.ts",5969 "file": "/src/eth/proxy/fungibleProxy.test.ts",5970 "beforeHooks": [],5971 "afterHooks": [],5972 "tests": [5973 {5974 "title": "Can perform approve()",5975 "fullTitle": "Fungible (Via EVM proxy): Plain calls Can perform approve()",5976 "timedOut": false,5977 "duration": 0,5978 "state": null,5979 "speed": null,5980 "pass": false,5981 "fail": false,5982 "pending": false,5983 "context": null,5984 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",5985 "err": {},5986 "uuid": "85c01938-eb19-409f-9343-c89d4b128af5",5987 "parentUUID": null,5988 "isHook": false,5989 "skipped": true5990 },5991 {5992 "title": "Can perform transferFrom()",5993 "fullTitle": "Fungible (Via EVM proxy): Plain calls Can perform transferFrom()",5994 "timedOut": false,5995 "duration": 0,5996 "state": null,5997 "speed": null,5998 "pass": false,5999 "fail": false,6000 "pending": false,6001 "context": null,6002 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6003 "err": {},6004 "uuid": "978c10ed-0dcb-412f-b6a0-0e85366de9b1",6005 "parentUUID": null,6006 "isHook": false,6007 "skipped": true6008 },6009 {6010 "title": "Can perform transfer()",6011 "fullTitle": "Fungible (Via EVM proxy): Plain calls Can perform transfer()",6012 "timedOut": false,6013 "duration": 0,6014 "state": null,6015 "speed": null,6016 "pass": false,6017 "fail": false,6018 "pending": false,6019 "context": null,6020 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6021 "err": {},6022 "uuid": "3d203895-5663-4b95-b831-4d497ece8a12",6023 "parentUUID": null,6024 "isHook": false,6025 "skipped": true6026 }6027 ],6028 "suites": [],6029 "passes": [],6030 "failures": [],6031 "pending": [],6032 "skipped": [6033 "85c01938-eb19-409f-9343-c89d4b128af5",6034 "978c10ed-0dcb-412f-b6a0-0e85366de9b1",6035 "3d203895-5663-4b95-b831-4d497ece8a12"6036 ],6037 "duration": 0,6038 "root": false,6039 "rootEmpty": false,6040 "_timeout": 99999996041 },6042 {6043 "uuid": "a1237654-d12a-476d-a746-7e1caf639542",6044 "title": "NFT (Via EVM proxy): Information getting",6045 "fullFile": "/nft_parachain/tests/src/eth/proxy/nonFungibleProxy.test.ts",6046 "file": "/src/eth/proxy/nonFungibleProxy.test.ts",6047 "beforeHooks": [],6048 "afterHooks": [],6049 "tests": [6050 {6051 "title": "totalSupply",6052 "fullTitle": "NFT (Via EVM proxy): Information getting totalSupply",6053 "timedOut": false,6054 "duration": 0,6055 "state": null,6056 "speed": null,6057 "pass": false,6058 "fail": false,6059 "pending": false,6060 "context": null,6061 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6062 "err": {},6063 "uuid": "3e71410e-4799-4d58-95bc-6ea860550b52",6064 "parentUUID": null,6065 "isHook": false,6066 "skipped": true6067 },6068 {6069 "title": "balanceOf",6070 "fullTitle": "NFT (Via EVM proxy): Information getting balanceOf",6071 "timedOut": false,6072 "duration": 0,6073 "state": null,6074 "speed": null,6075 "pass": false,6076 "fail": false,6077 "pending": false,6078 "context": null,6079 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6080 "err": {},6081 "uuid": "28d140d6-9e3f-4b98-92fa-f8fa23158060",6082 "parentUUID": null,6083 "isHook": false,6084 "skipped": true6085 },6086 {6087 "title": "ownerOf",6088 "fullTitle": "NFT (Via EVM proxy): Information getting ownerOf",6089 "timedOut": false,6090 "duration": 0,6091 "state": null,6092 "speed": null,6093 "pass": false,6094 "fail": false,6095 "pending": false,6096 "context": null,6097 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6098 "err": {},6099 "uuid": "159d2f85-802f-4728-b7f3-ed156ce034f3",6100 "parentUUID": null,6101 "isHook": false,6102 "skipped": true6103 }6104 ],6105 "suites": [],6106 "passes": [],6107 "failures": [],6108 "pending": [],6109 "skipped": [6110 "3e71410e-4799-4d58-95bc-6ea860550b52",6111 "28d140d6-9e3f-4b98-92fa-f8fa23158060",6112 "159d2f85-802f-4728-b7f3-ed156ce034f3"6113 ],6114 "duration": 0,6115 "root": false,6116 "rootEmpty": false,6117 "_timeout": 99999996118 },6119 {6120 "uuid": "6024151e-59e4-4403-bbbb-578984a48786",6121 "title": "NFT (Via EVM proxy): Plain calls",6122 "fullFile": "/nft_parachain/tests/src/eth/proxy/nonFungibleProxy.test.ts",6123 "file": "/src/eth/proxy/nonFungibleProxy.test.ts",6124 "beforeHooks": [],6125 "afterHooks": [],6126 "tests": [6127 {6128 "title": "Can perform mint()",6129 "fullTitle": "NFT (Via EVM proxy): Plain calls Can perform mint()",6130 "timedOut": false,6131 "duration": 0,6132 "state": null,6133 "speed": null,6134 "pass": false,6135 "fail": false,6136 "pending": false,6137 "context": null,6138 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6139 "err": {},6140 "uuid": "b19fe432-9e66-4d0b-95d3-71c8da071695",6141 "parentUUID": null,6142 "isHook": false,6143 "skipped": true6144 },6145 {6146 "title": "Can perform burn()",6147 "fullTitle": "NFT (Via EVM proxy): Plain calls Can perform burn()",6148 "timedOut": false,6149 "duration": 0,6150 "state": null,6151 "speed": null,6152 "pass": false,6153 "fail": false,6154 "pending": false,6155 "context": null,6156 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6157 "err": {},6158 "uuid": "d9075a45-8e4b-4b0a-859f-7062a3bbfb08",6159 "parentUUID": null,6160 "isHook": false,6161 "skipped": true6162 },6163 {6164 "title": "Can perform approve()",6165 "fullTitle": "NFT (Via EVM proxy): Plain calls Can perform approve()",6166 "timedOut": false,6167 "duration": 0,6168 "state": null,6169 "speed": null,6170 "pass": false,6171 "fail": false,6172 "pending": false,6173 "context": null,6174 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6175 "err": {},6176 "uuid": "1e441b49-2c31-4352-8737-99d9fd0a53ce",6177 "parentUUID": null,6178 "isHook": false,6179 "skipped": true6180 },6181 {6182 "title": "Can perform transferFrom()",6183 "fullTitle": "NFT (Via EVM proxy): Plain calls Can perform transferFrom()",6184 "timedOut": false,6185 "duration": 0,6186 "state": null,6187 "speed": null,6188 "pass": false,6189 "fail": false,6190 "pending": false,6191 "context": null,6192 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6193 "err": {},6194 "uuid": "caa9e0f6-b5f8-4765-9a78-5a57314a93d4",6195 "parentUUID": null,6196 "isHook": false,6197 "skipped": true6198 },6199 {6200 "title": "Can perform transfer()",6201 "fullTitle": "NFT (Via EVM proxy): Plain calls Can perform transfer()",6202 "timedOut": false,6203 "duration": 0,6204 "state": null,6205 "speed": null,6206 "pass": false,6207 "fail": false,6208 "pending": false,6209 "context": null,6210 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6211 "err": {},6212 "uuid": "9c70266f-3630-4867-bd98-99f85f3ad367",6213 "parentUUID": null,6214 "isHook": false,6215 "skipped": true6216 }6217 ],6218 "suites": [],6219 "passes": [],6220 "failures": [],6221 "pending": [],6222 "skipped": [6223 "b19fe432-9e66-4d0b-95d3-71c8da071695",6224 "d9075a45-8e4b-4b0a-859f-7062a3bbfb08",6225 "1e441b49-2c31-4352-8737-99d9fd0a53ce",6226 "caa9e0f6-b5f8-4765-9a78-5a57314a93d4",6227 "9c70266f-3630-4867-bd98-99f85f3ad367"6228 ],6229 "duration": 0,6230 "root": false,6231 "rootEmpty": false,6232 "_timeout": 99999996233 },6234 {6235 "uuid": "a6b7f868-6106-44c7-94bd-a23435c69ce8",6236 "title": "EVM sponsoring",6237 "fullFile": "/nft_parachain/tests/src/eth/sponsoring.test.ts",6238 "file": "/src/eth/sponsoring.test.ts",6239 "beforeHooks": [],6240 "afterHooks": [],6241 "tests": [6242 {6243 "title": "Fee is deducted from contract if sponsoring is enabled",6244 "fullTitle": "EVM sponsoring Fee is deducted from contract if sponsoring is enabled",6245 "timedOut": false,6246 "duration": 0,6247 "state": null,6248 "speed": null,6249 "pass": false,6250 "fail": false,6251 "pending": false,6252 "context": null,6253 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6254 "err": {},6255 "uuid": "e7d2b28d-add7-48b9-bb49-0f6e3de0e911",6256 "parentUUID": null,6257 "isHook": false,6258 "skipped": true6259 },6260 {6261 "title": "...but this doesn't applies to payable value",6262 "fullTitle": "EVM sponsoring ...but this doesn't applies to payable value",6263 "timedOut": false,6264 "duration": 0,6265 "state": null,6266 "speed": null,6267 "pass": false,6268 "fail": false,6269 "pending": false,6270 "context": null,6271 "code": "await substrate_api_1.default(async (api) => {\n await usingWeb3(async (web3) => {\n await cb({ api, web3 });\n });\n});",6272 "err": {},6273 "uuid": "3b4ee7bd-ce13-4061-bb00-b42c12a56a51",6274 "parentUUID": null,6275 "isHook": false,6276 "skipped": true6277 }6278 ],6279 "suites": [],6280 "passes": [],6281 "failures": [],6282 "pending": [],6283 "skipped": [6284 "e7d2b28d-add7-48b9-bb49-0f6e3de0e911",6285 "3b4ee7bd-ce13-4061-bb00-b42c12a56a51"6286 ],6287 "duration": 0,6288 "root": false,6289 "rootEmpty": false,6290 "_timeout": 99999996291 },6292 {6293 "uuid": "3a782123-a540-4917-97ca-acaa03e2ec44",6294 "title": "integration test: Inflation",6295 "fullFile": "/nft_parachain/tests/src/inflation.test.ts",6296 "file": "/src/inflation.test.ts",6297 "beforeHooks": [],6298 "afterHooks": [],6299 "tests": [6300 {6301 "title": "First year inflation is 10%",6302 "fullTitle": "integration test: Inflation First year inflation is 10%",6303 "timedOut": false,6304 "duration": 0,6305 "state": null,6306 "speed": null,6307 "pass": false,6308 "fail": false,6309 "pending": false,6310 "context": null,6311 "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});",6312 "err": {},6313 "uuid": "4bb3a25e-9223-42c1-b99a-b78e248ac864",6314 "parentUUID": null,6315 "isHook": false,6316 "skipped": true6317 }6318 ],6319 "suites": [],6320 "passes": [],6321 "failures": [],6322 "pending": [],6323 "skipped": [6324 "4bb3a25e-9223-42c1-b99a-b78e248ac864"6325 ],6326 "duration": 0,6327 "root": false,6328 "rootEmpty": false,6329 "_timeout": 99999996330 },6331 {6332 "uuid": "3cb447bc-3795-43d4-ba76-9e96f7c10164",6333 "title": "Integration Test fungible overflows",6334 "fullFile": "/nft_parachain/tests/src/overflow.test.ts",6335 "file": "/src/overflow.test.ts",6336 "beforeHooks": [6337 {6338 "title": "\"before all\" hook",6339 "fullTitle": "Integration Test fungible overflows \"before all\" hook",6340 "timedOut": false,6341 "duration": 0,6342 "state": null,6343 "speed": null,6344 "pass": false,6345 "fail": false,6346 "pending": false,6347 "context": null,6348 "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});",6349 "err": {},6350 "uuid": "87cb3cb2-344b-41dc-ab4e-43a13a6f956a",6351 "parentUUID": null,6352 "isHook": true,6353 "skipped": false6354 }6355 ],6356 "afterHooks": [],6357 "tests": [6358 {6359 "title": "fails when overflows on transfer",6360 "fullTitle": "Integration Test fungible overflows fails when overflows on transfer",6361 "timedOut": false,6362 "duration": 0,6363 "state": null,6364 "speed": null,6365 "pass": false,6366 "fail": false,6367 "pending": false,6368 "context": null,6369 "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);",6370 "err": {},6371 "uuid": "494b4340-c214-43e1-9a60-bf5ed837b911",6372 "parentUUID": null,6373 "isHook": false,6374 "skipped": true6375 },6376 {6377 "title": "fails on allowance overflow",6378 "fullTitle": "Integration Test fungible overflows fails on allowance overflow",6379 "timedOut": false,6380 "duration": 0,6381 "state": null,6382 "speed": null,6383 "pass": false,6384 "fail": false,6385 "pending": false,6386 "context": null,6387 "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);",6388 "err": {},6389 "uuid": "576bd335-6c12-4c4b-8330-3df79feaebab",6390 "parentUUID": null,6391 "isHook": false,6392 "skipped": true6393 },6394 {6395 "title": "fails when overflows on transferFrom",6396 "fullTitle": "Integration Test fungible overflows fails when overflows on transferFrom",6397 "timedOut": false,6398 "duration": 0,6399 "state": null,6400 "speed": null,6401 "pass": false,6402 "fail": false,6403 "pending": false,6404 "context": null,6405 "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');",6406 "err": {},6407 "uuid": "a384b326-375e-4c27-96d7-ebb95b0f2952",6408 "parentUUID": null,6409 "isHook": false,6410 "skipped": true6411 }6412 ],6413 "suites": [],6414 "passes": [],6415 "failures": [],6416 "pending": [],6417 "skipped": [6418 "494b4340-c214-43e1-9a60-bf5ed837b911",6419 "576bd335-6c12-4c4b-8330-3df79feaebab",6420 "a384b326-375e-4c27-96d7-ebb95b0f2952"6421 ],6422 "duration": 0,6423 "root": false,6424 "rootEmpty": false,6425 "_timeout": 99999996426 },6427 {6428 "uuid": "eb63d35a-61f0-4f4b-97a3-3d752c0ed6ff",6429 "title": "Pallet presence",6430 "fullFile": "/nft_parachain/tests/src/pallet-presence.test.ts",6431 "file": "/src/pallet-presence.test.ts",6432 "beforeHooks": [],6433 "afterHooks": [],6434 "tests": [6435 {6436 "title": "Required pallets are present",6437 "fullTitle": "Pallet presence Required pallets are present",6438 "timedOut": false,6439 "duration": 0,6440 "state": null,6441 "speed": null,6442 "pass": false,6443 "fail": false,6444 "pending": false,6445 "context": null,6446 "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});",6447 "err": {},6448 "uuid": "ef7906da-de02-4c50-a4b9-2afeba4cff54",6449 "parentUUID": null,6450 "isHook": false,6451 "skipped": true6452 },6453 {6454 "title": "Governance and consensus pallets are present",6455 "fullTitle": "Pallet presence Governance and consensus pallets are present",6456 "timedOut": false,6457 "duration": 0,6458 "state": null,6459 "speed": null,6460 "pass": false,6461 "fail": false,6462 "pending": false,6463 "context": null,6464 "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});",6465 "err": {},6466 "uuid": "cdc09d05-ff48-4fa1-9afa-5a868164a7d3",6467 "parentUUID": null,6468 "isHook": false,6469 "skipped": true6470 },6471 {6472 "title": "No extra pallets are included",6473 "fullTitle": "Pallet presence No extra pallets are included",6474 "timedOut": false,6475 "duration": 0,6476 "state": null,6477 "speed": null,6478 "pass": false,6479 "fail": false,6480 "pending": false,6481 "context": null,6482 "code": "await substrate_api_1.default(async (api) => {\n chai_1.expect(getModuleNames(api).sort()).to.be.deep.equal([...requiredPallets, ...consensusPallets].sort());\n});",6483 "err": {},6484 "uuid": "3e3cc583-e342-44b9-a5c3-7a9101d48118",6485 "parentUUID": null,6486 "isHook": false,6487 "skipped": true6488 }6489 ],6490 "suites": [],6491 "passes": [],6492 "failures": [],6493 "pending": [],6494 "skipped": [6495 "ef7906da-de02-4c50-a4b9-2afeba4cff54",6496 "cdc09d05-ff48-4fa1-9afa-5a868164a7d3",6497 "3e3cc583-e342-44b9-a5c3-7a9101d48118"6498 ],6499 "duration": 0,6500 "root": false,6501 "rootEmpty": false,6502 "_timeout": 99999996503 },6504 {6505 "uuid": "dc732f9f-225a-4ac1-b53c-d6d723388d72",6506 "title": "Integration Test removeCollectionAdmin(collection_id, account_id):",6507 "fullFile": "/nft_parachain/tests/src/removeCollectionAdmin.test.ts",6508 "file": "/src/removeCollectionAdmin.test.ts",6509 "beforeHooks": [],6510 "afterHooks": [],6511 "tests": [6512 {6513 "title": "Remove collection admin.",6514 "fullTitle": "Integration Test removeCollectionAdmin(collection_id, account_id): Remove collection admin.",6515 "timedOut": false,6516 "duration": 0,6517 "state": null,6518 "speed": null,6519 "pass": false,6520 "fail": false,6521 "pending": false,6522 "context": null,6523 "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});",6524 "err": {},6525 "uuid": "1e89bb51-7d8b-4059-8bec-06511701d088",6526 "parentUUID": null,6527 "isHook": false,6528 "skipped": true6529 },6530 {6531 "title": "Remove collection admin by admin.",6532 "fullTitle": "Integration Test removeCollectionAdmin(collection_id, account_id): Remove collection admin by admin.",6533 "timedOut": false,6534 "duration": 0,6535 "state": null,6536 "speed": null,6537 "pass": false,6538 "fail": false,6539 "pending": false,6540 "context": null,6541 "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});",6542 "err": {},6543 "uuid": "aa6bb14d-7b07-4c11-8f63-f19f34678e0d",6544 "parentUUID": null,6545 "isHook": false,6546 "skipped": true6547 },6548 {6549 "title": "Remove admin from collection that has no admins",6550 "fullTitle": "Integration Test removeCollectionAdmin(collection_id, account_id): Remove admin from collection that has no admins",6551 "timedOut": false,6552 "duration": 0,6553 "state": null,6554 "speed": null,6555 "pass": false,6556 "fail": false,6557 "pending": false,6558 "context": null,6559 "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});",6560 "err": {},6561 "uuid": "19946d54-de8a-4a6b-95bd-05d67da4992a",6562 "parentUUID": null,6563 "isHook": false,6564 "skipped": true6565 }6566 ],6567 "suites": [],6568 "passes": [],6569 "failures": [],6570 "pending": [],6571 "skipped": [6572 "1e89bb51-7d8b-4059-8bec-06511701d088",6573 "aa6bb14d-7b07-4c11-8f63-f19f34678e0d",6574 "19946d54-de8a-4a6b-95bd-05d67da4992a"6575 ],6576 "duration": 0,6577 "root": false,6578 "rootEmpty": false,6579 "_timeout": 99999996580 },6581 {6582 "uuid": "55dcf9fb-d81f-497c-8e8f-362fe16e8d9b",6583 "title": "Negative Integration Test removeCollectionAdmin(collection_id, account_id):",6584 "fullFile": "/nft_parachain/tests/src/removeCollectionAdmin.test.ts",6585 "file": "/src/removeCollectionAdmin.test.ts",6586 "beforeHooks": [],6587 "afterHooks": [],6588 "tests": [6589 {6590 "title": "Can't remove collection admin from not existing collection",6591 "fullTitle": "Negative Integration Test removeCollectionAdmin(collection_id, account_id): Can't remove collection admin from not existing collection",6592 "timedOut": false,6593 "duration": 0,6594 "state": null,6595 "speed": null,6596 "pass": false,6597 "fail": false,6598 "pending": false,6599 "context": null,6600 "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});",6601 "err": {},6602 "uuid": "cb3c0197-2eda-459f-98f2-fb24f0c8682a",6603 "parentUUID": null,6604 "isHook": false,6605 "skipped": true6606 },6607 {6608 "title": "Can't remove collection admin from deleted collection",6609 "fullTitle": "Negative Integration Test removeCollectionAdmin(collection_id, account_id): Can't remove collection admin from deleted collection",6610 "timedOut": false,6611 "duration": 0,6612 "state": null,6613 "speed": null,6614 "pass": false,6615 "fail": false,6616 "pending": false,6617 "context": null,6618 "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});",6619 "err": {},6620 "uuid": "10428424-2150-4a02-a617-0b21f301e690",6621 "parentUUID": null,6622 "isHook": false,6623 "skipped": true6624 },6625 {6626 "title": "Regular user Can't remove collection admin",6627 "fullTitle": "Negative Integration Test removeCollectionAdmin(collection_id, account_id): Regular user Can't remove collection admin",6628 "timedOut": false,6629 "duration": 0,6630 "state": null,6631 "speed": null,6632 "pass": false,6633 "fail": false,6634 "pending": false,6635 "context": null,6636 "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});",6637 "err": {},6638 "uuid": "f4f77126-8ff7-41fa-8b6a-0136f721d9b6",6639 "parentUUID": null,6640 "isHook": false,6641 "skipped": true6642 }6643 ],6644 "suites": [],6645 "passes": [],6646 "failures": [],6647 "pending": [],6648 "skipped": [6649 "cb3c0197-2eda-459f-98f2-fb24f0c8682a",6650 "10428424-2150-4a02-a617-0b21f301e690",6651 "f4f77126-8ff7-41fa-8b6a-0136f721d9b6"6652 ],6653 "duration": 0,6654 "root": false,6655 "rootEmpty": false,6656 "_timeout": 99999996657 },6658 {6659 "uuid": "4964745b-c07c-469a-bd86-3aabe116e79c",6660 "title": "integration test: ext. removeCollectionSponsor():",6661 "fullFile": "/nft_parachain/tests/src/removeCollectionSponsor.test.ts",6662 "file": "/src/removeCollectionSponsor.test.ts",6663 "beforeHooks": [6664 {6665 "title": "\"before all\" hook",6666 "fullTitle": "integration test: ext. removeCollectionSponsor(): \"before all\" hook",6667 "timedOut": false,6668 "duration": 0,6669 "state": null,6670 "speed": null,6671 "pass": false,6672 "fail": false,6673 "pending": false,6674 "context": null,6675 "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});",6676 "err": {},6677 "uuid": "073aa191-794a-43ea-afe9-eece5ca6ea5b",6678 "parentUUID": null,6679 "isHook": true,6680 "skipped": false6681 }6682 ],6683 "afterHooks": [],6684 "tests": [6685 {6686 "title": "Removing NFT collection sponsor stops sponsorship",6687 "fullTitle": "integration test: ext. removeCollectionSponsor(): Removing NFT collection sponsor stops sponsorship",6688 "timedOut": false,6689 "duration": 0,6690 "state": null,6691 "speed": null,6692 "pass": false,6693 "fail": false,6694 "pending": false,6695 "context": null,6696 "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});",6697 "err": {},6698 "uuid": "7340d2b9-1efe-4571-adb6-2fc324d04587",6699 "parentUUID": null,6700 "isHook": false,6701 "skipped": true6702 },6703 {6704 "title": "Remove a sponsor after it was already removed",6705 "fullTitle": "integration test: ext. removeCollectionSponsor(): Remove a sponsor after it was already removed",6706 "timedOut": false,6707 "duration": 0,6708 "state": null,6709 "speed": null,6710 "pass": false,6711 "fail": false,6712 "pending": false,6713 "context": null,6714 "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);",6715 "err": {},6716 "uuid": "989ef0aa-29ba-40e5-a468-77743d0450c7",6717 "parentUUID": null,6718 "isHook": false,6719 "skipped": true6720 },6721 {6722 "title": "Remove sponsor in a collection that never had the sponsor set",6723 "fullTitle": "integration test: ext. removeCollectionSponsor(): Remove sponsor in a collection that never had the sponsor set",6724 "timedOut": false,6725 "duration": 0,6726 "state": null,6727 "speed": null,6728 "pass": false,6729 "fail": false,6730 "pending": false,6731 "context": null,6732 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);",6733 "err": {},6734 "uuid": "48c44c61-dfae-46bf-9862-a56e3377f5d3",6735 "parentUUID": null,6736 "isHook": false,6737 "skipped": true6738 },6739 {6740 "title": "Remove sponsor for a collection that had the sponsor set, but not confirmed",6741 "fullTitle": "integration test: ext. removeCollectionSponsor(): Remove sponsor for a collection that had the sponsor set, but not confirmed",6742 "timedOut": false,6743 "duration": 0,6744 "state": null,6745 "speed": null,6746 "pass": false,6747 "fail": false,6748 "pending": false,6749 "context": null,6750 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.removeCollectionSponsorExpectSuccess(collectionId);",6751 "err": {},6752 "uuid": "79a34054-2bf6-453f-ab67-996b5a978801",6753 "parentUUID": null,6754 "isHook": false,6755 "skipped": true6756 }6757 ],6758 "suites": [],6759 "passes": [],6760 "failures": [],6761 "pending": [],6762 "skipped": [6763 "7340d2b9-1efe-4571-adb6-2fc324d04587",6764 "989ef0aa-29ba-40e5-a468-77743d0450c7",6765 "48c44c61-dfae-46bf-9862-a56e3377f5d3",6766 "79a34054-2bf6-453f-ab67-996b5a978801"6767 ],6768 "duration": 0,6769 "root": false,6770 "rootEmpty": false,6771 "_timeout": 99999996772 },6773 {6774 "uuid": "46267fd7-8042-4ac8-8efa-9e6b2a450d98",6775 "title": "(!negative test!) integration test: ext. removeCollectionSponsor():",6776 "fullFile": "/nft_parachain/tests/src/removeCollectionSponsor.test.ts",6777 "file": "/src/removeCollectionSponsor.test.ts",6778 "beforeHooks": [6779 {6780 "title": "\"before all\" hook",6781 "fullTitle": "(!negative test!) integration test: ext. removeCollectionSponsor(): \"before all\" hook",6782 "timedOut": false,6783 "duration": 0,6784 "state": null,6785 "speed": null,6786 "pass": false,6787 "fail": false,6788 "pending": false,6789 "context": null,6790 "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});",6791 "err": {},6792 "uuid": "ed73243a-c3b3-47dc-accf-cfb8e03021ae",6793 "parentUUID": null,6794 "isHook": true,6795 "skipped": false6796 }6797 ],6798 "afterHooks": [],6799 "tests": [6800 {6801 "title": "(!negative test!) Remove sponsor for a collection that never existed",6802 "fullTitle": "(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor for a collection that never existed",6803 "timedOut": false,6804 "duration": 0,6805 "state": null,6806 "speed": null,6807 "pass": false,6808 "fail": false,6809 "pending": false,6810 "context": null,6811 "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);",6812 "err": {},6813 "uuid": "e35932f4-4d42-4d65-8d46-7246df195d99",6814 "parentUUID": null,6815 "isHook": false,6816 "skipped": true6817 },6818 {6819 "title": "(!negative test!) Remove sponsor for a collection with collection admin permissions",6820 "fullTitle": "(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor for a collection with collection admin permissions",6821 "timedOut": false,6822 "duration": 0,6823 "state": null,6824 "speed": null,6825 "pass": false,6826 "fail": false,6827 "pending": false,6828 "context": null,6829 "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');",6830 "err": {},6831 "uuid": "85ae77c3-2b77-4f93-a49c-5b607907004e",6832 "parentUUID": null,6833 "isHook": false,6834 "skipped": true6835 },6836 {6837 "title": "(!negative test!) Remove sponsor for a collection by regular user",6838 "fullTitle": "(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor for a collection by regular user",6839 "timedOut": false,6840 "duration": 0,6841 "state": null,6842 "speed": null,6843 "pass": false,6844 "fail": false,6845 "pending": false,6846 "context": null,6847 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.removeCollectionSponsorExpectFailure(collectionId, '//Bob');",6848 "err": {},6849 "uuid": "7aaae6ca-2617-469d-9192-6689adf16516",6850 "parentUUID": null,6851 "isHook": false,6852 "skipped": true6853 },6854 {6855 "title": "(!negative test!) Remove sponsor in a destroyed collection",6856 "fullTitle": "(!negative test!) integration test: ext. removeCollectionSponsor(): (!negative test!) Remove sponsor in a destroyed collection",6857 "timedOut": false,6858 "duration": 0,6859 "state": null,6860 "speed": null,6861 "pass": false,6862 "fail": false,6863 "pending": false,6864 "context": null,6865 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.removeCollectionSponsorExpectFailure(collectionId);",6866 "err": {},6867 "uuid": "9d7a6e72-16ef-4ce7-a2a3-adf9ab8682a6",6868 "parentUUID": null,6869 "isHook": false,6870 "skipped": true6871 },6872 {6873 "title": "Set - remove - confirm: fails",6874 "fullTitle": "(!negative test!) integration test: ext. removeCollectionSponsor(): Set - remove - confirm: fails",6875 "timedOut": false,6876 "duration": 0,6877 "state": null,6878 "speed": null,6879 "pass": false,6880 "fail": false,6881 "pending": false,6882 "context": null,6883 "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');",6884 "err": {},6885 "uuid": "271077e2-6ea6-4690-a3a5-2194bb57a35c",6886 "parentUUID": null,6887 "isHook": false,6888 "skipped": true6889 },6890 {6891 "title": "Set - confirm - remove - confirm: Sponsor cannot come back",6892 "fullTitle": "(!negative test!) integration test: ext. removeCollectionSponsor(): Set - confirm - remove - confirm: Sponsor cannot come back",6893 "timedOut": false,6894 "duration": 0,6895 "state": null,6896 "speed": null,6897 "pass": false,6898 "fail": false,6899 "pending": false,6900 "context": null,6901 "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');",6902 "err": {},6903 "uuid": "cce11642-dcd7-40f6-bfdb-b1da80351677",6904 "parentUUID": null,6905 "isHook": false,6906 "skipped": true6907 }6908 ],6909 "suites": [],6910 "passes": [],6911 "failures": [],6912 "pending": [],6913 "skipped": [6914 "e35932f4-4d42-4d65-8d46-7246df195d99",6915 "85ae77c3-2b77-4f93-a49c-5b607907004e",6916 "7aaae6ca-2617-469d-9192-6689adf16516",6917 "9d7a6e72-16ef-4ce7-a2a3-adf9ab8682a6",6918 "271077e2-6ea6-4690-a3a5-2194bb57a35c",6919 "cce11642-dcd7-40f6-bfdb-b1da80351677"6920 ],6921 "duration": 0,6922 "root": false,6923 "rootEmpty": false,6924 "_timeout": 99999996925 },6926 {6927 "uuid": "090e386e-3947-4ceb-b0e9-56c8c3508d7b",6928 "title": "Integration Test removeFromContractWhiteList",6929 "fullFile": "/nft_parachain/tests/src/removeFromContractWhiteList.test.ts",6930 "file": "/src/removeFromContractWhiteList.test.ts",6931 "beforeHooks": [],6932 "afterHooks": [],6933 "tests": [6934 {6935 "title": "user is no longer whitelisted after removal",6936 "fullTitle": "Integration Test removeFromContractWhiteList user is no longer whitelisted after removal",6937 "timedOut": false,6938 "duration": 0,6939 "state": null,6940 "speed": null,6941 "pass": false,6942 "fail": false,6943 "pending": true,6944 "context": null,6945 "code": "",6946 "err": {},6947 "uuid": "30612bcc-b508-4b33-a278-2fe06ac300e1",6948 "parentUUID": null,6949 "isHook": false,6950 "skipped": false6951 },6952 {6953 "title": "user can't execute contract after removal",6954 "fullTitle": "Integration Test removeFromContractWhiteList user can't execute contract after removal",6955 "timedOut": false,6956 "duration": 0,6957 "state": null,6958 "speed": null,6959 "pass": false,6960 "fail": false,6961 "pending": true,6962 "context": null,6963 "code": "",6964 "err": {},6965 "uuid": "bbd33294-82f8-450b-b4cc-e40250a1abbc",6966 "parentUUID": null,6967 "isHook": false,6968 "skipped": false6969 },6970 {6971 "title": "can be called twice",6972 "fullTitle": "Integration Test removeFromContractWhiteList can be called twice",6973 "timedOut": false,6974 "duration": 0,6975 "state": null,6976 "speed": null,6977 "pass": false,6978 "fail": false,6979 "pending": true,6980 "context": null,6981 "code": "",6982 "err": {},6983 "uuid": "9b422317-c895-4d4d-84e2-d5fcb6691899",6984 "parentUUID": null,6985 "isHook": false,6986 "skipped": false6987 }6988 ],6989 "suites": [],6990 "passes": [],6991 "failures": [],6992 "pending": [6993 "30612bcc-b508-4b33-a278-2fe06ac300e1",6994 "bbd33294-82f8-450b-b4cc-e40250a1abbc",6995 "9b422317-c895-4d4d-84e2-d5fcb6691899"6996 ],6997 "skipped": [],6998 "duration": 0,6999 "root": false,7000 "rootEmpty": false,7001 "_timeout": 99999997002 },7003 {7004 "uuid": "d47d209d-7b8e-4624-9853-69ac8edb7cae",7005 "title": "Negative Integration Test removeFromContractWhiteList",7006 "fullFile": "/nft_parachain/tests/src/removeFromContractWhiteList.test.ts",7007 "file": "/src/removeFromContractWhiteList.test.ts",7008 "beforeHooks": [],7009 "afterHooks": [],7010 "tests": [7011 {7012 "title": "fails when called with non-contract address",7013 "fullTitle": "Negative Integration Test removeFromContractWhiteList fails when called with non-contract address",7014 "timedOut": false,7015 "duration": 0,7016 "state": null,7017 "speed": null,7018 "pass": false,7019 "fail": false,7020 "pending": true,7021 "context": null,7022 "code": "",7023 "err": {},7024 "uuid": "4f24edbc-cc11-419a-beda-b4f5523bbacc",7025 "parentUUID": null,7026 "isHook": false,7027 "skipped": false7028 },7029 {7030 "title": "fails when executed by non owner",7031 "fullTitle": "Negative Integration Test removeFromContractWhiteList fails when executed by non owner",7032 "timedOut": false,7033 "duration": 0,7034 "state": null,7035 "speed": null,7036 "pass": false,7037 "fail": false,7038 "pending": true,7039 "context": null,7040 "code": "",7041 "err": {},7042 "uuid": "bcbccafd-9285-4e64-9284-5f6db30eb825",7043 "parentUUID": null,7044 "isHook": false,7045 "skipped": false7046 }7047 ],7048 "suites": [],7049 "passes": [],7050 "failures": [],7051 "pending": [7052 "4f24edbc-cc11-419a-beda-b4f5523bbacc",7053 "bcbccafd-9285-4e64-9284-5f6db30eb825"7054 ],7055 "skipped": [],7056 "duration": 0,7057 "root": false,7058 "rootEmpty": false,7059 "_timeout": 99999997060 },7061 {7062 "uuid": "5645c742-0df3-48e9-a87e-17c9b86fc529",7063 "title": "Integration Test removeFromWhiteList",7064 "fullFile": "/nft_parachain/tests/src/removeFromWhiteList.test.ts",7065 "file": "/src/removeFromWhiteList.test.ts",7066 "beforeHooks": [7067 {7068 "title": "\"before all\" hook",7069 "fullTitle": "Integration Test removeFromWhiteList \"before all\" hook",7070 "timedOut": false,7071 "duration": 0,7072 "state": null,7073 "speed": null,7074 "pass": false,7075 "fail": false,7076 "pending": false,7077 "context": null,7078 "code": "await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});",7079 "err": {},7080 "uuid": "58a47998-94fb-4f5a-b1de-b091d4eb3c89",7081 "parentUUID": null,7082 "isHook": true,7083 "skipped": false7084 }7085 ],7086 "afterHooks": [],7087 "tests": [7088 {7089 "title": "ensure bob is not in whitelist after removal",7090 "fullTitle": "Integration Test removeFromWhiteList ensure bob is not in whitelist after removal",7091 "timedOut": false,7092 "duration": 0,7093 "state": null,7094 "speed": null,7095 "pass": false,7096 "fail": false,7097 "pending": false,7098 "context": null,7099 "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});",7100 "err": {},7101 "uuid": "ce40679f-cb58-4efd-9fab-0c937dbb8a16",7102 "parentUUID": null,7103 "isHook": false,7104 "skipped": true7105 },7106 {7107 "title": "allows removal from collection with unset whitelist status",7108 "fullTitle": "Integration Test removeFromWhiteList allows removal from collection with unset whitelist status",7109 "timedOut": false,7110 "duration": 0,7111 "state": null,7112 "speed": null,7113 "pass": false,7114 "fail": false,7115 "pending": false,7116 "context": null,7117 "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});",7118 "err": {},7119 "uuid": "dde05dbd-559a-45e3-9260-5830c90659ae",7120 "parentUUID": null,7121 "isHook": false,7122 "skipped": true7123 }7124 ],7125 "suites": [],7126 "passes": [],7127 "failures": [],7128 "pending": [],7129 "skipped": [7130 "ce40679f-cb58-4efd-9fab-0c937dbb8a16",7131 "dde05dbd-559a-45e3-9260-5830c90659ae"7132 ],7133 "duration": 0,7134 "root": false,7135 "rootEmpty": false,7136 "_timeout": 99999997137 },7138 {7139 "uuid": "19ce9466-ea0d-482a-ab0e-6cbdab561771",7140 "title": "Negative Integration Test removeFromWhiteList",7141 "fullFile": "/nft_parachain/tests/src/removeFromWhiteList.test.ts",7142 "file": "/src/removeFromWhiteList.test.ts",7143 "beforeHooks": [7144 {7145 "title": "\"before all\" hook",7146 "fullTitle": "Negative Integration Test removeFromWhiteList \"before all\" hook",7147 "timedOut": false,7148 "duration": 0,7149 "state": null,7150 "speed": null,7151 "pass": false,7152 "fail": false,7153 "pending": false,7154 "context": null,7155 "code": "await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});",7156 "err": {},7157 "uuid": "1a924510-3952-46dd-aa5c-548cfa332fac",7158 "parentUUID": null,7159 "isHook": true,7160 "skipped": false7161 }7162 ],7163 "afterHooks": [],7164 "tests": [7165 {7166 "title": "fails on removal from not existing collection",7167 "fullTitle": "Negative Integration Test removeFromWhiteList fails on removal from not existing collection",7168 "timedOut": false,7169 "duration": 0,7170 "state": null,7171 "speed": null,7172 "pass": false,7173 "fail": false,7174 "pending": false,7175 "context": null,7176 "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});",7177 "err": {},7178 "uuid": "3469734c-9e2c-4d43-beb3-f4b29eb1bd46",7179 "parentUUID": null,7180 "isHook": false,7181 "skipped": true7182 },7183 {7184 "title": "fails on removal from removed collection",7185 "fullTitle": "Negative Integration Test removeFromWhiteList fails on removal from removed collection",7186 "timedOut": false,7187 "duration": 0,7188 "state": null,7189 "speed": null,7190 "pass": false,7191 "fail": false,7192 "pending": false,7193 "context": null,7194 "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});",7195 "err": {},7196 "uuid": "bcbedd90-5b70-413f-84db-44643f560207",7197 "parentUUID": null,7198 "isHook": false,7199 "skipped": true7200 }7201 ],7202 "suites": [],7203 "passes": [],7204 "failures": [],7205 "pending": [],7206 "skipped": [7207 "3469734c-9e2c-4d43-beb3-f4b29eb1bd46",7208 "bcbedd90-5b70-413f-84db-44643f560207"7209 ],7210 "duration": 0,7211 "root": false,7212 "rootEmpty": false,7213 "_timeout": 99999997214 },7215 {7216 "uuid": "e52a884e-26af-4ea4-b808-af59702ee39c",7217 "title": "Integration Test removeFromWhiteList with collection admin permissions",7218 "fullFile": "/nft_parachain/tests/src/removeFromWhiteList.test.ts",7219 "file": "/src/removeFromWhiteList.test.ts",7220 "beforeHooks": [7221 {7222 "title": "\"before all\" hook",7223 "fullTitle": "Integration Test removeFromWhiteList with collection admin permissions \"before all\" hook",7224 "timedOut": false,7225 "duration": 0,7226 "state": null,7227 "speed": null,7228 "pass": false,7229 "fail": false,7230 "pending": false,7231 "context": null,7232 "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});",7233 "err": {},7234 "uuid": "a181856c-c084-4e13-aa7f-c1f70231fe00",7235 "parentUUID": null,7236 "isHook": true,7237 "skipped": false7238 }7239 ],7240 "afterHooks": [],7241 "tests": [7242 {7243 "title": "ensure address is not in whitelist after removal",7244 "fullTitle": "Integration Test removeFromWhiteList with collection admin permissions ensure address is not in whitelist after removal",7245 "timedOut": false,7246 "duration": 0,7247 "state": null,7248 "speed": null,7249 "pass": false,7250 "fail": false,7251 "pending": false,7252 "context": null,7253 "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});",7254 "err": {},7255 "uuid": "95ab897e-27d4-4d3f-a10b-3c2be388a913",7256 "parentUUID": null,7257 "isHook": false,7258 "skipped": true7259 },7260 {7261 "title": "Collection admin allowed to remove from whitelist with unset whitelist status",7262 "fullTitle": "Integration Test removeFromWhiteList with collection admin permissions Collection admin allowed to remove from whitelist with unset whitelist status",7263 "timedOut": false,7264 "duration": 0,7265 "state": null,7266 "speed": null,7267 "pass": false,7268 "fail": false,7269 "pending": false,7270 "context": null,7271 "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});",7272 "err": {},7273 "uuid": "65854ca8-cab8-4bec-bff4-8f2b22f904d0",7274 "parentUUID": null,7275 "isHook": false,7276 "skipped": true7277 },7278 {7279 "title": "Regular user can`t remove from whitelist",7280 "fullTitle": "Integration Test removeFromWhiteList with collection admin permissions Regular user can`t remove from whitelist",7281 "timedOut": false,7282 "duration": 0,7283 "state": null,7284 "speed": null,7285 "pass": false,7286 "fail": false,7287 "pending": false,7288 "context": null,7289 "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});",7290 "err": {},7291 "uuid": "ea3232c6-dc6f-48f1-b0bf-16ff18789fcd",7292 "parentUUID": null,7293 "isHook": false,7294 "skipped": true7295 }7296 ],7297 "suites": [],7298 "passes": [],7299 "failures": [],7300 "pending": [],7301 "skipped": [7302 "95ab897e-27d4-4d3f-a10b-3c2be388a913",7303 "65854ca8-cab8-4bec-bff4-8f2b22f904d0",7304 "ea3232c6-dc6f-48f1-b0bf-16ff18789fcd"7305 ],7306 "duration": 0,7307 "root": false,7308 "rootEmpty": false,7309 "_timeout": 99999997310 },7311 {7312 "uuid": "d445ff02-9beb-4d72-a551-3cfcbe03f764",7313 "title": "Integration Test scheduler base transaction",7314 "fullFile": "/nft_parachain/tests/src/scheduler.test.ts",7315 "file": "/src/scheduler.test.ts",7316 "beforeHooks": [],7317 "afterHooks": [],7318 "tests": [7319 {7320 "title": "User can transfer owned token with delay (scheduler)",7321 "fullTitle": "Integration Test scheduler base transaction User can transfer owned token with delay (scheduler)",7322 "timedOut": false,7323 "duration": 0,7324 "state": null,7325 "speed": null,7326 "pass": false,7327 "fail": false,7328 "pending": false,7329 "context": null,7330 "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});",7331 "err": {},7332 "uuid": "a7260324-2729-42a7-9a19-8587cc347edd",7333 "parentUUID": null,7334 "isHook": false,7335 "skipped": true7336 }7337 ],7338 "suites": [],7339 "passes": [],7340 "failures": [],7341 "pending": [],7342 "skipped": [7343 "a7260324-2729-42a7-9a19-8587cc347edd"7344 ],7345 "duration": 0,7346 "root": false,7347 "rootEmpty": false,7348 "_timeout": 99999997349 },7350 {7351 "uuid": "31bca936-fc7a-4283-a857-2a6b853ab612",7352 "title": "Negative Integration Test setChainLimits",7353 "fullFile": "/nft_parachain/tests/src/setChainLimits.test.ts",7354 "file": "/src/setChainLimits.test.ts",7355 "beforeHooks": [7356 {7357 "title": "\"before all\" hook",7358 "fullTitle": "Negative Integration Test setChainLimits \"before all\" hook",7359 "timedOut": false,7360 "duration": 0,7361 "state": null,7362 "speed": null,7363 "pass": false,7364 "fail": false,7365 "pending": false,7366 "context": null,7367 "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});",7368 "err": {},7369 "uuid": "d688f74a-285d-42bc-be8d-681e088bb48b",7370 "parentUUID": null,7371 "isHook": true,7372 "skipped": false7373 }7374 ],7375 "afterHooks": [],7376 "tests": [7377 {7378 "title": "Collection owner cannot set chain limits",7379 "fullTitle": "Negative Integration Test setChainLimits Collection owner cannot set chain limits",7380 "timedOut": false,7381 "duration": 0,7382 "state": null,7383 "speed": null,7384 "pass": false,7385 "fail": false,7386 "pending": false,7387 "context": null,7388 "code": "await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.setChainLimitsExpectFailure(alice, limits);",7389 "err": {},7390 "uuid": "4c3a77eb-6b88-43db-87be-aad42e534e5d",7391 "parentUUID": null,7392 "isHook": false,7393 "skipped": true7394 },7395 {7396 "title": "Collection admin cannot set chain limits",7397 "fullTitle": "Negative Integration Test setChainLimits Collection admin cannot set chain limits",7398 "timedOut": false,7399 "duration": 0,7400 "state": null,7401 "speed": null,7402 "pass": false,7403 "fail": false,7404 "pending": false,7405 "context": null,7406 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.setChainLimitsExpectFailure(bob, limits);",7407 "err": {},7408 "uuid": "e10a746b-5eb2-46b4-83c1-73610192c10d",7409 "parentUUID": null,7410 "isHook": false,7411 "skipped": true7412 },7413 {7414 "title": "Regular user cannot set chain limits",7415 "fullTitle": "Negative Integration Test setChainLimits Regular user cannot set chain limits",7416 "timedOut": false,7417 "duration": 0,7418 "state": null,7419 "speed": null,7420 "pass": false,7421 "fail": false,7422 "pending": false,7423 "context": null,7424 "code": "await helpers_1.setChainLimitsExpectFailure(dave, limits);",7425 "err": {},7426 "uuid": "80a8e621-e260-4231-bd27-e4f4b15c1634",7427 "parentUUID": null,7428 "isHook": false,7429 "skipped": true7430 }7431 ],7432 "suites": [],7433 "passes": [],7434 "failures": [],7435 "pending": [],7436 "skipped": [7437 "4c3a77eb-6b88-43db-87be-aad42e534e5d",7438 "e10a746b-5eb2-46b4-83c1-73610192c10d",7439 "80a8e621-e260-4231-bd27-e4f4b15c1634"7440 ],7441 "duration": 0,7442 "root": false,7443 "rootEmpty": false,7444 "_timeout": 99999997445 },7446 {7447 "uuid": "864e8fd6-67ae-4a10-88ad-33850223b651",7448 "title": "setCollectionLimits positive",7449 "fullFile": "/nft_parachain/tests/src/setCollectionLimits.test.ts",7450 "file": "/src/setCollectionLimits.test.ts",7451 "beforeHooks": [7452 {7453 "title": "\"before all\" hook",7454 "fullTitle": "setCollectionLimits positive \"before all\" hook",7455 "timedOut": false,7456 "duration": 0,7457 "state": null,7458 "speed": null,7459 "pass": false,7460 "fail": false,7461 "pending": false,7462 "context": null,7463 "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});",7464 "err": {},7465 "uuid": "2cc67a48-a83e-49b2-9c6c-cce236dfc6ff",7466 "parentUUID": null,7467 "isHook": true,7468 "skipped": false7469 }7470 ],7471 "afterHooks": [],7472 "tests": [7473 {7474 "title": "execute setCollectionLimits with predefined params ",7475 "fullTitle": "setCollectionLimits positive execute setCollectionLimits with predefined params ",7476 "timedOut": false,7477 "duration": 0,7478 "state": null,7479 "speed": null,7480 "pass": false,7481 "fail": false,7482 "pending": false,7483 "context": null,7484 "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});",7485 "err": {},7486 "uuid": "d32d1982-da29-46d9-8d16-10523cd331b6",7487 "parentUUID": null,7488 "isHook": false,7489 "skipped": true7490 },7491 {7492 "title": "Set the same token limit twice",7493 "fullTitle": "setCollectionLimits positive Set the same token limit twice",7494 "timedOut": false,7495 "duration": 0,7496 "state": null,7497 "speed": null,7498 "pass": false,7499 "fail": false,7500 "pending": false,7501 "context": null,7502 "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});",7503 "err": {},7504 "uuid": "6b883ae8-e9cc-436f-b66f-d589dee3774b",7505 "parentUUID": null,7506 "isHook": false,7507 "skipped": true7508 }7509 ],7510 "suites": [],7511 "passes": [],7512 "failures": [],7513 "pending": [],7514 "skipped": [7515 "d32d1982-da29-46d9-8d16-10523cd331b6",7516 "6b883ae8-e9cc-436f-b66f-d589dee3774b"7517 ],7518 "duration": 0,7519 "root": false,7520 "rootEmpty": false,7521 "_timeout": 99999997522 },7523 {7524 "uuid": "80730974-8aaf-4b53-837e-843c327f5f32",7525 "title": "setCollectionLimits negative",7526 "fullFile": "/nft_parachain/tests/src/setCollectionLimits.test.ts",7527 "file": "/src/setCollectionLimits.test.ts",7528 "beforeHooks": [7529 {7530 "title": "\"before all\" hook",7531 "fullTitle": "setCollectionLimits negative \"before all\" hook",7532 "timedOut": false,7533 "duration": 0,7534 "state": null,7535 "speed": null,7536 "pass": false,7537 "fail": false,7538 "pending": false,7539 "context": null,7540 "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});",7541 "err": {},7542 "uuid": "a19bd118-2c02-44a5-8352-4ba72d5b51ea",7543 "parentUUID": null,7544 "isHook": true,7545 "skipped": false7546 }7547 ],7548 "afterHooks": [],7549 "tests": [7550 {7551 "title": "execute setCollectionLimits for not exists collection",7552 "fullTitle": "setCollectionLimits negative execute setCollectionLimits for not exists collection",7553 "timedOut": false,7554 "duration": 0,7555 "state": null,7556 "speed": null,7557 "pass": false,7558 "fail": false,7559 "pending": false,7560 "context": null,7561 "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});",7562 "err": {},7563 "uuid": "53dc0d8c-321e-4901-9157-3fd66bcc15ab",7564 "parentUUID": null,7565 "isHook": false,7566 "skipped": true7567 },7568 {7569 "title": "execute setCollectionLimits from user who is not owner of this collection",7570 "fullTitle": "setCollectionLimits negative execute setCollectionLimits from user who is not owner of this collection",7571 "timedOut": false,7572 "duration": 0,7573 "state": null,7574 "speed": null,7575 "pass": false,7576 "fail": false,7577 "pending": false,7578 "context": null,7579 "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});",7580 "err": {},7581 "uuid": "ddad0ec1-5004-45c0-b755-a8c833b3c744",7582 "parentUUID": null,7583 "isHook": false,7584 "skipped": true7585 },7586 {7587 "title": "execute setCollectionLimits from admin collection",7588 "fullTitle": "setCollectionLimits negative execute setCollectionLimits from admin collection",7589 "timedOut": false,7590 "duration": 0,7591 "state": null,7592 "speed": null,7593 "pass": false,7594 "fail": false,7595 "pending": false,7596 "context": null,7597 "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});",7598 "err": {},7599 "uuid": "a62c80c1-5434-4801-9a9b-7a901d3a6e12",7600 "parentUUID": null,7601 "isHook": false,7602 "skipped": true7603 },7604 {7605 "title": "execute setCollectionLimits with incorrect limits",7606 "fullTitle": "setCollectionLimits negative execute setCollectionLimits with incorrect limits",7607 "timedOut": false,7608 "duration": 0,7609 "state": null,7610 "speed": null,7611 "pass": false,7612 "fail": false,7613 "pending": false,7614 "context": null,7615 "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});",7616 "err": {},7617 "uuid": "d2e949e0-7f48-4d3c-a12d-8da0910c3ce3",7618 "parentUUID": null,7619 "isHook": false,7620 "skipped": true7621 },7622 {7623 "title": "fails when trying to enable OwnerCanTransfer after it was disabled",7624 "fullTitle": "setCollectionLimits negative fails when trying to enable OwnerCanTransfer after it was disabled",7625 "timedOut": false,7626 "duration": 0,7627 "state": null,7628 "speed": null,7629 "pass": false,7630 "fail": false,7631 "pending": false,7632 "context": null,7633 "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});",7634 "err": {},7635 "uuid": "9520e496-d043-44a3-bb82-d17eb2499334",7636 "parentUUID": null,7637 "isHook": false,7638 "skipped": true7639 },7640 {7641 "title": "fails when trying to enable OwnerCanDestroy after it was disabled",7642 "fullTitle": "setCollectionLimits negative fails when trying to enable OwnerCanDestroy after it was disabled",7643 "timedOut": false,7644 "duration": 0,7645 "state": null,7646 "speed": null,7647 "pass": false,7648 "fail": false,7649 "pending": false,7650 "context": null,7651 "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});",7652 "err": {},7653 "uuid": "cbfc2098-3360-4c35-b9a3-1f2459547199",7654 "parentUUID": null,7655 "isHook": false,7656 "skipped": true7657 },7658 {7659 "title": "Setting the higher token limit fails",7660 "fullTitle": "setCollectionLimits negative Setting the higher token limit fails",7661 "timedOut": false,7662 "duration": 0,7663 "state": null,7664 "speed": null,7665 "pass": false,7666 "fail": false,7667 "pending": false,7668 "context": null,7669 "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});",7670 "err": {},7671 "uuid": "ac5ff0da-daa7-4509-b527-09cc176b1d40",7672 "parentUUID": null,7673 "isHook": false,7674 "skipped": true7675 }7676 ],7677 "suites": [],7678 "passes": [],7679 "failures": [],7680 "pending": [],7681 "skipped": [7682 "53dc0d8c-321e-4901-9157-3fd66bcc15ab",7683 "ddad0ec1-5004-45c0-b755-a8c833b3c744",7684 "a62c80c1-5434-4801-9a9b-7a901d3a6e12",7685 "d2e949e0-7f48-4d3c-a12d-8da0910c3ce3",7686 "9520e496-d043-44a3-bb82-d17eb2499334",7687 "cbfc2098-3360-4c35-b9a3-1f2459547199",7688 "ac5ff0da-daa7-4509-b527-09cc176b1d40"7689 ],7690 "duration": 0,7691 "root": false,7692 "rootEmpty": false,7693 "_timeout": 99999997694 },7695 {7696 "uuid": "0ec248e7-8ae8-4211-8c0e-048f7bc90578",7697 "title": "integration test: ext. setCollectionSponsor():",7698 "fullFile": "/nft_parachain/tests/src/setCollectionSponsor.test.ts",7699 "file": "/src/setCollectionSponsor.test.ts",7700 "beforeHooks": [7701 {7702 "title": "\"before all\" hook",7703 "fullTitle": "integration test: ext. setCollectionSponsor(): \"before all\" hook",7704 "timedOut": false,7705 "duration": 0,7706 "state": null,7707 "speed": null,7708 "pass": false,7709 "fail": false,7710 "pending": false,7711 "context": null,7712 "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});",7713 "err": {},7714 "uuid": "2efa7181-c0db-42f7-9833-9c853fb5a191",7715 "parentUUID": null,7716 "isHook": true,7717 "skipped": false7718 }7719 ],7720 "afterHooks": [],7721 "tests": [7722 {7723 "title": "Set NFT collection sponsor",7724 "fullTitle": "integration test: ext. setCollectionSponsor(): Set NFT collection sponsor",7725 "timedOut": false,7726 "duration": 0,7727 "state": null,7728 "speed": null,7729 "pass": false,7730 "fail": false,7731 "pending": false,7732 "context": null,7733 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);",7734 "err": {},7735 "uuid": "6fd9bfef-84c0-41ef-8b43-bd993cfd739f",7736 "parentUUID": null,7737 "isHook": false,7738 "skipped": true7739 },7740 {7741 "title": "Set Fungible collection sponsor",7742 "fullTitle": "integration test: ext. setCollectionSponsor(): Set Fungible collection sponsor",7743 "timedOut": false,7744 "duration": 0,7745 "state": null,7746 "speed": null,7747 "pass": false,7748 "fail": false,7749 "pending": false,7750 "context": null,7751 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);",7752 "err": {},7753 "uuid": "61a720d0-0fe1-4b46-967c-c01d70b6242c",7754 "parentUUID": null,7755 "isHook": false,7756 "skipped": true7757 },7758 {7759 "title": "Set ReFungible collection sponsor",7760 "fullTitle": "integration test: ext. setCollectionSponsor(): Set ReFungible collection sponsor",7761 "timedOut": false,7762 "duration": 0,7763 "state": null,7764 "speed": null,7765 "pass": false,7766 "fail": false,7767 "pending": false,7768 "context": null,7769 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'ReFungible' } });\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);",7770 "err": {},7771 "uuid": "cb5646f4-5aba-4d98-9817-de2c9bd42fce",7772 "parentUUID": null,7773 "isHook": false,7774 "skipped": true7775 },7776 {7777 "title": "Set the same sponsor repeatedly",7778 "fullTitle": "integration test: ext. setCollectionSponsor(): Set the same sponsor repeatedly",7779 "timedOut": false,7780 "duration": 0,7781 "state": null,7782 "speed": null,7783 "pass": false,7784 "fail": false,7785 "pending": false,7786 "context": null,7787 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);\nawait helpers_1.setCollectionSponsorExpectSuccess(collectionId, bob.address);",7788 "err": {},7789 "uuid": "86441019-203b-4476-af25-ccba5b9e2741",7790 "parentUUID": null,7791 "isHook": false,7792 "skipped": true7793 },7794 {7795 "title": "Replace collection sponsor",7796 "fullTitle": "integration test: ext. setCollectionSponsor(): Replace collection sponsor",7797 "timedOut": false,7798 "duration": 0,7799 "state": null,7800 "speed": null,7801 "pass": false,7802 "fail": false,7803 "pending": false,7804 "context": null,7805 "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);",7806 "err": {},7807 "uuid": "24d56994-b714-4916-a755-bbae2775d2c4",7808 "parentUUID": null,7809 "isHook": false,7810 "skipped": true7811 }7812 ],7813 "suites": [],7814 "passes": [],7815 "failures": [],7816 "pending": [],7817 "skipped": [7818 "6fd9bfef-84c0-41ef-8b43-bd993cfd739f",7819 "61a720d0-0fe1-4b46-967c-c01d70b6242c",7820 "cb5646f4-5aba-4d98-9817-de2c9bd42fce",7821 "86441019-203b-4476-af25-ccba5b9e2741",7822 "24d56994-b714-4916-a755-bbae2775d2c4"7823 ],7824 "duration": 0,7825 "root": false,7826 "rootEmpty": false,7827 "_timeout": 99999997828 },7829 {7830 "uuid": "cec3e13f-3894-41ae-b288-c60bfcf771dd",7831 "title": "(!negative test!) integration test: ext. setCollectionSponsor():",7832 "fullFile": "/nft_parachain/tests/src/setCollectionSponsor.test.ts",7833 "file": "/src/setCollectionSponsor.test.ts",7834 "beforeHooks": [7835 {7836 "title": "\"before all\" hook",7837 "fullTitle": "(!negative test!) integration test: ext. setCollectionSponsor(): \"before all\" hook",7838 "timedOut": false,7839 "duration": 0,7840 "state": null,7841 "speed": null,7842 "pass": false,7843 "fail": false,7844 "pending": false,7845 "context": null,7846 "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});",7847 "err": {},7848 "uuid": "6e23f95c-a8f1-4af9-905e-d6cd335b614f",7849 "parentUUID": null,7850 "isHook": true,7851 "skipped": false7852 }7853 ],7854 "afterHooks": [],7855 "tests": [7856 {7857 "title": "(!negative test!) Add sponsor with a non-owner",7858 "fullTitle": "(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Add sponsor with a non-owner",7859 "timedOut": false,7860 "duration": 0,7861 "state": null,7862 "speed": null,7863 "pass": false,7864 "fail": false,7865 "pending": false,7866 "context": null,7867 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.setCollectionSponsorExpectFailure(collectionId, bob.address, '//Bob');",7868 "err": {},7869 "uuid": "683d509e-09c6-4df6-928b-aa8f1ca81b8c",7870 "parentUUID": null,7871 "isHook": false,7872 "skipped": true7873 },7874 {7875 "title": "(!negative test!) Add sponsor to a collection that never existed",7876 "fullTitle": "(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Add sponsor to a collection that never existed",7877 "timedOut": false,7878 "duration": 0,7879 "state": null,7880 "speed": null,7881 "pass": false,7882 "fail": false,7883 "pending": false,7884 "context": null,7885 "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);",7886 "err": {},7887 "uuid": "8f54053d-0d3a-4948-ad54-716e75cd82e0",7888 "parentUUID": null,7889 "isHook": false,7890 "skipped": true7891 },7892 {7893 "title": "(!negative test!) Add sponsor to a collection that was destroyed",7894 "fullTitle": "(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Add sponsor to a collection that was destroyed",7895 "timedOut": false,7896 "duration": 0,7897 "state": null,7898 "speed": null,7899 "pass": false,7900 "fail": false,7901 "pending": false,7902 "context": null,7903 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.destroyCollectionExpectSuccess(collectionId);\nawait helpers_1.setCollectionSponsorExpectFailure(collectionId, bob.address);",7904 "err": {},7905 "uuid": "40568762-50de-4901-8db1-050f95fb2b52",7906 "parentUUID": null,7907 "isHook": false,7908 "skipped": true7909 },7910 {7911 "title": "(!negative test!) Collection admin add sponsor",7912 "fullTitle": "(!negative test!) integration test: ext. setCollectionSponsor(): (!negative test!) Collection admin add sponsor",7913 "timedOut": false,7914 "duration": 0,7915 "state": null,7916 "speed": null,7917 "pass": false,7918 "fail": false,7919 "pending": false,7920 "context": null,7921 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess();\nawait helpers_1.addCollectionAdminExpectSuccess(alice, collectionId, bob);\nawait helpers_1.setCollectionSponsorExpectFailure(collectionId, charlie.address, '//Bob');",7922 "err": {},7923 "uuid": "a33535e3-d85d-45f3-a599-7b4b2f2bc4ce",7924 "parentUUID": null,7925 "isHook": false,7926 "skipped": true7927 }7928 ],7929 "suites": [],7930 "passes": [],7931 "failures": [],7932 "pending": [],7933 "skipped": [7934 "683d509e-09c6-4df6-928b-aa8f1ca81b8c",7935 "8f54053d-0d3a-4948-ad54-716e75cd82e0",7936 "40568762-50de-4901-8db1-050f95fb2b52",7937 "a33535e3-d85d-45f3-a599-7b4b2f2bc4ce"7938 ],7939 "duration": 0,7940 "root": false,7941 "rootEmpty": false,7942 "_timeout": 99999997943 },7944 {7945 "uuid": "158f543c-d1ad-433b-a908-e239b62b96d3",7946 "title": "Integration Test ext. setConstOnChainSchema()",7947 "fullFile": "/nft_parachain/tests/src/setConstOnChainSchema.test.ts",7948 "file": "/src/setConstOnChainSchema.test.ts",7949 "beforeHooks": [],7950 "afterHooks": [],7951 "tests": [7952 {7953 "title": "Run extrinsic with parameters of the collection id, set the scheme",7954 "fullTitle": "Integration Test ext. setConstOnChainSchema() Run extrinsic with parameters of the collection id, set the scheme",7955 "timedOut": false,7956 "duration": 0,7957 "state": null,7958 "speed": null,7959 "pass": false,7960 "fail": false,7961 "pending": false,7962 "context": null,7963 "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});",7964 "err": {},7965 "uuid": "d112aefc-3e9d-46fb-b4a9-b0e0b8dc4d28",7966 "parentUUID": null,7967 "isHook": false,7968 "skipped": true7969 },7970 {7971 "title": "Collection admin can set the scheme",7972 "fullTitle": "Integration Test ext. setConstOnChainSchema() Collection admin can set the scheme",7973 "timedOut": false,7974 "duration": 0,7975 "state": null,7976 "speed": null,7977 "pass": false,7978 "fail": false,7979 "pending": false,7980 "context": null,7981 "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});",7982 "err": {},7983 "uuid": "9af30569-5854-4062-be4e-a714e755a189",7984 "parentUUID": null,7985 "isHook": false,7986 "skipped": true7987 },7988 {7989 "title": "Checking collection data using the ConstOnChainSchema parameter",7990 "fullTitle": "Integration Test ext. setConstOnChainSchema() Checking collection data using the ConstOnChainSchema parameter",7991 "timedOut": false,7992 "duration": 0,7993 "state": null,7994 "speed": null,7995 "pass": false,7996 "fail": false,7997 "pending": false,7998 "context": null,7999 "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});",8000 "err": {},8001 "uuid": "22077b7e-d757-4822-894a-749f8188e9bd",8002 "parentUUID": null,8003 "isHook": false,8004 "skipped": true8005 }8006 ],8007 "suites": [],8008 "passes": [],8009 "failures": [],8010 "pending": [],8011 "skipped": [8012 "d112aefc-3e9d-46fb-b4a9-b0e0b8dc4d28",8013 "9af30569-5854-4062-be4e-a714e755a189",8014 "22077b7e-d757-4822-894a-749f8188e9bd"8015 ],8016 "duration": 0,8017 "root": false,8018 "rootEmpty": false,8019 "_timeout": 99999998020 },8021 {8022 "uuid": "28e4fb50-d2ac-49de-81fa-1a240770f61a",8023 "title": "Negative Integration Test ext. setConstOnChainSchema()",8024 "fullFile": "/nft_parachain/tests/src/setConstOnChainSchema.test.ts",8025 "file": "/src/setConstOnChainSchema.test.ts",8026 "beforeHooks": [],8027 "afterHooks": [],8028 "tests": [8029 {8030 "title": "Set a non-existent collection",8031 "fullTitle": "Negative Integration Test ext. setConstOnChainSchema() Set a non-existent collection",8032 "timedOut": false,8033 "duration": 0,8034 "state": null,8035 "speed": null,8036 "pass": false,8037 "fail": false,8038 "pending": false,8039 "context": null,8040 "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});",8041 "err": {},8042 "uuid": "7ce3cde5-be29-4d65-9320-46cc0d8a4f31",8043 "parentUUID": null,8044 "isHook": false,8045 "skipped": true8046 },8047 {8048 "title": "Set a previously deleted collection",8049 "fullTitle": "Negative Integration Test ext. setConstOnChainSchema() Set a previously deleted collection",8050 "timedOut": false,8051 "duration": 0,8052 "state": null,8053 "speed": null,8054 "pass": false,8055 "fail": false,8056 "pending": false,8057 "context": null,8058 "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});",8059 "err": {},8060 "uuid": "9ee1b42d-b518-4090-a17a-dd57e2186940",8061 "parentUUID": null,8062 "isHook": false,8063 "skipped": true8064 },8065 {8066 "title": "Set invalid data in schema (size too large:> 1024b)",8067 "fullTitle": "Negative Integration Test ext. setConstOnChainSchema() Set invalid data in schema (size too large:> 1024b)",8068 "timedOut": false,8069 "duration": 0,8070 "state": null,8071 "speed": null,8072 "pass": false,8073 "fail": false,8074 "pending": false,8075 "context": null,8076 "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});",8077 "err": {},8078 "uuid": "3fb38da2-5f4f-4929-aed8-07146645f2ed",8079 "parentUUID": null,8080 "isHook": false,8081 "skipped": true8082 },8083 {8084 "title": "Execute method not on behalf of the collection owner",8085 "fullTitle": "Negative Integration Test ext. setConstOnChainSchema() Execute method not on behalf of the collection owner",8086 "timedOut": false,8087 "duration": 0,8088 "state": null,8089 "speed": null,8090 "pass": false,8091 "fail": false,8092 "pending": false,8093 "context": null,8094 "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});",8095 "err": {},8096 "uuid": "75fdd293-994b-4984-b654-f245487e44d2",8097 "parentUUID": null,8098 "isHook": false,8099 "skipped": true8100 }8101 ],8102 "suites": [],8103 "passes": [],8104 "failures": [],8105 "pending": [],8106 "skipped": [8107 "7ce3cde5-be29-4d65-9320-46cc0d8a4f31",8108 "9ee1b42d-b518-4090-a17a-dd57e2186940",8109 "3fb38da2-5f4f-4929-aed8-07146645f2ed",8110 "75fdd293-994b-4984-b654-f245487e44d2"8111 ],8112 "duration": 0,8113 "root": false,8114 "rootEmpty": false,8115 "_timeout": 99999998116 },8117 {8118 "uuid": "e78dc91b-d806-46dd-984e-ec046f502cd2",8119 "title": "Integration Test setContractSponsoringRateLimit",8120 "fullFile": "/nft_parachain/tests/src/setContractSponsoringRateLimit.test.ts",8121 "file": "/src/setContractSponsoringRateLimit.test.ts",8122 "beforeHooks": [],8123 "afterHooks": [],8124 "tests": [8125 {8126 "title": "ensure sponsored contract can't be called twice without pause for free",8127 "fullTitle": "Integration Test setContractSponsoringRateLimit ensure sponsored contract can't be called twice without pause for free",8128 "timedOut": false,8129 "duration": 0,8130 "state": null,8131 "speed": null,8132 "pass": false,8133 "fail": false,8134 "pending": true,8135 "context": null,8136 "code": "",8137 "err": {},8138 "uuid": "135d3e1d-e004-44c4-9e22-3d6a253435c0",8139 "parentUUID": null,8140 "isHook": false,8141 "skipped": false8142 },8143 {8144 "title": "ensure sponsored contract can be called twice with pause for free",8145 "fullTitle": "Integration Test setContractSponsoringRateLimit ensure sponsored contract can be called twice with pause for free",8146 "timedOut": false,8147 "duration": 0,8148 "state": null,8149 "speed": null,8150 "pass": false,8151 "fail": false,8152 "pending": true,8153 "context": null,8154 "code": "",8155 "err": {},8156 "uuid": "4b560f0c-46d1-49a7-b5a9-5496c91234fc",8157 "parentUUID": null,8158 "isHook": false,8159 "skipped": false8160 }8161 ],8162 "suites": [],8163 "passes": [],8164 "failures": [],8165 "pending": [8166 "135d3e1d-e004-44c4-9e22-3d6a253435c0",8167 "4b560f0c-46d1-49a7-b5a9-5496c91234fc"8168 ],8169 "skipped": [],8170 "duration": 0,8171 "root": false,8172 "rootEmpty": false,8173 "_timeout": 99999998174 },8175 {8176 "uuid": "bc7ada2a-db31-43ce-a802-033605a598f1",8177 "title": "Negative Integration Test setContractSponsoringRateLimit",8178 "fullFile": "/nft_parachain/tests/src/setContractSponsoringRateLimit.test.ts",8179 "file": "/src/setContractSponsoringRateLimit.test.ts",8180 "beforeHooks": [],8181 "afterHooks": [],8182 "tests": [8183 {8184 "title": "fails when called for non-contract address",8185 "fullTitle": "Negative Integration Test setContractSponsoringRateLimit fails when called for non-contract address",8186 "timedOut": false,8187 "duration": 0,8188 "state": null,8189 "speed": null,8190 "pass": false,8191 "fail": false,8192 "pending": true,8193 "context": null,8194 "code": "",8195 "err": {},8196 "uuid": "e39de7ef-40bc-4d8c-aae1-0b7745bad05e",8197 "parentUUID": null,8198 "isHook": false,8199 "skipped": false8200 },8201 {8202 "title": "fails when called by non-owning user",8203 "fullTitle": "Negative Integration Test setContractSponsoringRateLimit fails when called by non-owning user",8204 "timedOut": false,8205 "duration": 0,8206 "state": null,8207 "speed": null,8208 "pass": false,8209 "fail": false,8210 "pending": true,8211 "context": null,8212 "code": "",8213 "err": {},8214 "uuid": "30b5ab68-1f40-4d2a-b589-6d866974e75c",8215 "parentUUID": null,8216 "isHook": false,8217 "skipped": false8218 }8219 ],8220 "suites": [],8221 "passes": [],8222 "failures": [],8223 "pending": [8224 "e39de7ef-40bc-4d8c-aae1-0b7745bad05e",8225 "30b5ab68-1f40-4d2a-b589-6d866974e75c"8226 ],8227 "skipped": [],8228 "duration": 0,8229 "root": false,8230 "rootEmpty": false,8231 "_timeout": 99999998232 },8233 {8234 "uuid": "eb5cbed0-02a5-444a-93de-c94fef224554",8235 "title": "Integration Test setMintPermission",8236 "fullFile": "/nft_parachain/tests/src/setMintPermission.test.ts",8237 "file": "/src/setMintPermission.test.ts",8238 "beforeHooks": [8239 {8240 "title": "\"before all\" hook",8241 "fullTitle": "Integration Test setMintPermission \"before all\" hook",8242 "timedOut": false,8243 "duration": 0,8244 "state": null,8245 "speed": null,8246 "pass": false,8247 "fail": false,8248 "pending": false,8249 "context": null,8250 "code": "await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});",8251 "err": {},8252 "uuid": "191f98d5-26a1-4910-8218-af236af77982",8253 "parentUUID": null,8254 "isHook": true,8255 "skipped": false8256 }8257 ],8258 "afterHooks": [],8259 "tests": [8260 {8261 "title": "ensure white-listed non-privileged address can mint tokens",8262 "fullTitle": "Integration Test setMintPermission ensure white-listed non-privileged address can mint tokens",8263 "timedOut": false,8264 "duration": 0,8265 "state": null,8266 "speed": null,8267 "pass": false,8268 "fail": false,8269 "pending": false,8270 "context": null,8271 "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});",8272 "err": {},8273 "uuid": "884235b9-da39-4217-9f9a-73fac056921c",8274 "parentUUID": null,8275 "isHook": false,8276 "skipped": true8277 },8278 {8279 "title": "can be enabled twice",8280 "fullTitle": "Integration Test setMintPermission can be enabled twice",8281 "timedOut": false,8282 "duration": 0,8283 "state": null,8284 "speed": null,8285 "pass": false,8286 "fail": false,8287 "pending": false,8288 "context": null,8289 "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});",8290 "err": {},8291 "uuid": "98173ea4-9d53-4b14-a61c-78b6c9158132",8292 "parentUUID": null,8293 "isHook": false,8294 "skipped": true8295 },8296 {8297 "title": "can be disabled twice",8298 "fullTitle": "Integration Test setMintPermission can be disabled twice",8299 "timedOut": false,8300 "duration": 0,8301 "state": null,8302 "speed": null,8303 "pass": false,8304 "fail": false,8305 "pending": false,8306 "context": null,8307 "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});",8308 "err": {},8309 "uuid": "2aa44b95-b911-4a5e-9f3d-fda7b0c3fbda",8310 "parentUUID": null,8311 "isHook": false,8312 "skipped": true8313 }8314 ],8315 "suites": [],8316 "passes": [],8317 "failures": [],8318 "pending": [],8319 "skipped": [8320 "884235b9-da39-4217-9f9a-73fac056921c",8321 "98173ea4-9d53-4b14-a61c-78b6c9158132",8322 "2aa44b95-b911-4a5e-9f3d-fda7b0c3fbda"8323 ],8324 "duration": 0,8325 "root": false,8326 "rootEmpty": false,8327 "_timeout": 99999998328 },8329 {8330 "uuid": "cbc6e3f1-5d78-4769-9afd-72998c570eb6",8331 "title": "Negative Integration Test setMintPermission",8332 "fullFile": "/nft_parachain/tests/src/setMintPermission.test.ts",8333 "file": "/src/setMintPermission.test.ts",8334 "beforeHooks": [8335 {8336 "title": "\"before all\" hook",8337 "fullTitle": "Negative Integration Test setMintPermission \"before all\" hook",8338 "timedOut": false,8339 "duration": 0,8340 "state": null,8341 "speed": null,8342 "pass": false,8343 "fail": false,8344 "pending": false,8345 "context": null,8346 "code": "await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});",8347 "err": {},8348 "uuid": "34da7a1c-2588-45e4-a3dd-8238f60e2e11",8349 "parentUUID": null,8350 "isHook": true,8351 "skipped": false8352 }8353 ],8354 "afterHooks": [],8355 "tests": [8356 {8357 "title": "fails on not existing collection",8358 "fullTitle": "Negative Integration Test setMintPermission fails on not existing collection",8359 "timedOut": false,8360 "duration": 0,8361 "state": null,8362 "speed": null,8363 "pass": false,8364 "fail": false,8365 "pending": false,8366 "context": null,8367 "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});",8368 "err": {},8369 "uuid": "2646ad83-06be-4fee-92b4-0316359e4d47",8370 "parentUUID": null,8371 "isHook": false,8372 "skipped": true8373 },8374 {8375 "title": "fails on removed collection",8376 "fullTitle": "Negative Integration Test setMintPermission fails on removed collection",8377 "timedOut": false,8378 "duration": 0,8379 "state": null,8380 "speed": null,8381 "pass": false,8382 "fail": false,8383 "pending": false,8384 "context": null,8385 "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});",8386 "err": {},8387 "uuid": "06542d72-bd12-4943-a060-726f91838cf6",8388 "parentUUID": null,8389 "isHook": false,8390 "skipped": true8391 },8392 {8393 "title": "fails when not collection owner tries to set mint status",8394 "fullTitle": "Negative Integration Test setMintPermission fails when not collection owner tries to set mint status",8395 "timedOut": false,8396 "duration": 0,8397 "state": null,8398 "speed": null,8399 "pass": false,8400 "fail": false,8401 "pending": false,8402 "context": null,8403 "code": "const collectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.enableWhiteListExpectSuccess(alice, collectionId);\nawait helpers_1.setMintPermissionExpectFailure(bob, collectionId, true);",8404 "err": {},8405 "uuid": "b5f2f65c-cebf-4155-8a5b-f64db02dfd8b",8406 "parentUUID": null,8407 "isHook": false,8408 "skipped": true8409 },8410 {8411 "title": "Collection admin fails on set",8412 "fullTitle": "Negative Integration Test setMintPermission Collection admin fails on set",8413 "timedOut": false,8414 "duration": 0,8415 "state": null,8416 "speed": null,8417 "pass": false,8418 "fail": false,8419 "pending": false,8420 "context": null,8421 "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});",8422 "err": {},8423 "uuid": "d5919771-6a70-4e9b-978f-dae88e7bb206",8424 "parentUUID": null,8425 "isHook": false,8426 "skipped": true8427 },8428 {8429 "title": "ensure non-white-listed non-privileged address can't mint tokens",8430 "fullTitle": "Negative Integration Test setMintPermission ensure non-white-listed non-privileged address can't mint tokens",8431 "timedOut": false,8432 "duration": 0,8433 "state": null,8434 "speed": null,8435 "pass": false,8436 "fail": false,8437 "pending": false,8438 "context": null,8439 "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});",8440 "err": {},8441 "uuid": "17be383a-4cda-4426-9104-ca99e965bccc",8442 "parentUUID": null,8443 "isHook": false,8444 "skipped": true8445 }8446 ],8447 "suites": [],8448 "passes": [],8449 "failures": [],8450 "pending": [],8451 "skipped": [8452 "2646ad83-06be-4fee-92b4-0316359e4d47",8453 "06542d72-bd12-4943-a060-726f91838cf6",8454 "b5f2f65c-cebf-4155-8a5b-f64db02dfd8b",8455 "d5919771-6a70-4e9b-978f-dae88e7bb206",8456 "17be383a-4cda-4426-9104-ca99e965bccc"8457 ],8458 "duration": 0,8459 "root": false,8460 "rootEmpty": false,8461 "_timeout": 99999998462 },8463 {8464 "uuid": "8ee811c1-d214-486c-9cf1-2457e3e040d0",8465 "title": "Integration Test setOffchainSchema",8466 "fullFile": "/nft_parachain/tests/src/setOffchainSchema.test.ts",8467 "file": "/src/setOffchainSchema.test.ts",8468 "beforeHooks": [8469 {8470 "title": "\"before all\" hook",8471 "fullTitle": "Integration Test setOffchainSchema \"before all\" hook",8472 "timedOut": false,8473 "duration": 0,8474 "state": null,8475 "speed": null,8476 "pass": false,8477 "fail": false,8478 "pending": false,8479 "context": null,8480 "code": "await substrate_api_1.default(async () => {\n alice = privateKey_1.default('//Alice');\n bob = privateKey_1.default('//Bob');\n});",8481 "err": {},8482 "uuid": "784ee8b7-3378-496c-9630-39ea92fb5387",8483 "parentUUID": null,8484 "isHook": true,8485 "skipped": false8486 }8487 ],8488 "afterHooks": [],8489 "tests": [8490 {8491 "title": "execute setOffchainSchema, verify data was set",8492 "fullTitle": "Integration Test setOffchainSchema execute setOffchainSchema, verify data was set",8493 "timedOut": false,8494 "duration": 0,8495 "state": null,8496 "speed": null,8497 "pass": false,8498 "fail": false,8499 "pending": false,8500 "context": null,8501 "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'));",8502 "err": {},8503 "uuid": "74df46ab-1974-4c14-b1c8-b44107edf519",8504 "parentUUID": null,8505 "isHook": false,8506 "skipped": true8507 },8508 {8509 "title": "execute setOffchainSchema (collection admin), verify data was set",8510 "fullTitle": "Integration Test setOffchainSchema execute setOffchainSchema (collection admin), verify data was set",8511 "timedOut": false,8512 "duration": 0,8513 "state": null,8514 "speed": null,8515 "pass": false,8516 "fail": false,8517 "pending": false,8518 "context": null,8519 "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'));",8520 "err": {},8521 "uuid": "a96f3c18-592c-4597-9516-3f5186e54953",8522 "parentUUID": null,8523 "isHook": false,8524 "skipped": true8525 }8526 ],8527 "suites": [],8528 "passes": [],8529 "failures": [],8530 "pending": [],8531 "skipped": [8532 "74df46ab-1974-4c14-b1c8-b44107edf519",8533 "a96f3c18-592c-4597-9516-3f5186e54953"8534 ],8535 "duration": 0,8536 "root": false,8537 "rootEmpty": false,8538 "_timeout": 99999998539 },8540 {8541 "uuid": "128add77-4dab-49aa-93c8-f00f156e2fe8",8542 "title": "Negative Integration Test setOffchainSchema",8543 "fullFile": "/nft_parachain/tests/src/setOffchainSchema.test.ts",8544 "file": "/src/setOffchainSchema.test.ts",8545 "beforeHooks": [8546 {8547 "title": "\"before all\" hook",8548 "fullTitle": "Negative Integration Test setOffchainSchema \"before all\" hook",8549 "timedOut": false,8550 "duration": 0,8551 "state": null,8552 "speed": null,8553 "pass": false,8554 "fail": false,8555 "pending": false,8556 "context": null,8557 "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});",8558 "err": {},8559 "uuid": "42ceb947-54d1-43bd-818f-e2e6579f5bf4",8560 "parentUUID": null,8561 "isHook": true,8562 "skipped": false8563 }8564 ],8565 "afterHooks": [],8566 "tests": [8567 {8568 "title": "fails on not existing collection id",8569 "fullTitle": "Negative Integration Test setOffchainSchema fails on not existing collection id",8570 "timedOut": false,8571 "duration": 0,8572 "state": null,8573 "speed": null,8574 "pass": false,8575 "fail": false,8576 "pending": false,8577 "context": null,8578 "code": "const nonExistingCollectionId = await substrate_api_1.default(helpers_1.findNotExistingCollection);\nawait helpers_1.setOffchainSchemaExpectFailure(alice, nonExistingCollectionId, DATA);",8579 "err": {},8580 "uuid": "57ef09b4-431d-44db-b422-f551119d8a58",8581 "parentUUID": null,8582 "isHook": false,8583 "skipped": true8584 },8585 {8586 "title": "fails on destroyed collection id",8587 "fullTitle": "Negative Integration Test setOffchainSchema fails on destroyed collection id",8588 "timedOut": false,8589 "duration": 0,8590 "state": null,8591 "speed": null,8592 "pass": false,8593 "fail": false,8594 "pending": false,8595 "context": null,8596 "code": "const destroyedCollectionId = await helpers_1.createCollectionExpectSuccess({ mode: { type: 'NFT' } });\nawait helpers_1.destroyCollectionExpectSuccess(destroyedCollectionId);\nawait helpers_1.setOffchainSchemaExpectFailure(alice, destroyedCollectionId, DATA);",8597 "err": {},8598 "uuid": "03fec951-9f04-44e6-bd91-b3db5006f811",8599 "parentUUID": null,8600 "isHook": false,8601 "skipped": true8602 },8603 {8604 "title": "fails on too long data",8605 "fullTitle": "Negative Integration Test setOffchainSchema fails on too long data",8606 "timedOut": false,8607 "duration": 0,8608 "state": null,8609 "speed": null,8610 "pass": false,8611 "fail": false,8612 "pending": false,8613 "context": null,8614 "code": "const tooLongData = new Array(4097).fill(0xff);\nawait helpers_1.setOffchainSchemaExpectFailure(alice, validCollectionId, tooLongData);",8615 "err": {},8616 "uuid": "0c79ca69-2103-4006-807b-ca84b88a4d3f",8617 "parentUUID": null,8618 "isHook": false,8619 "skipped": true8620 },8621 {8622 "title": "fails on execution by non-owner",8623 "fullTitle": "Negative Integration Test setOffchainSchema fails on execution by non-owner",8624 "timedOut": false,8625 "duration": 0,8626 "state": null,8627 "speed": null,8628 "pass": false,8629 "fail": false,8630 "pending": false,8631 "context": null,8632 "code": "await helpers_1.setOffchainSchemaExpectFailure(bob, validCollectionId, DATA);",8633 "err": {},8634 "uuid": "e24a2704-3e4b-4e16-9bbf-8469e1075273",8635 "parentUUID": null,8636 "isHook": false,8637 "skipped": true8638 }8639 ],8640 "suites": [],8641 "passes": [],8642 "failures": [],8643 "pending": [],8644 "skipped": [8645 "57ef09b4-431d-44db-b422-f551119d8a58",8646 "03fec951-9f04-44e6-bd91-b3db5006f811",8647 "0c79ca69-2103-4006-807b-ca84b88a4d3f",8648 "e24a2704-3e4b-4e16-9bbf-8469e1075273"8649 ],8650 "duration": 0,8651 "root": false,8652 "rootEmpty": false,8653 "_timeout": 99999998654 },8655 {8656 "uuid": "21cd6275-d772-43e4-8107-49172c63e008",8657 "title": "Integration Test setPublicAccessMode(): ",8658 "fullFile": "/nft_parachain/tests/src/setPublicAccessMode.test.ts",8659 "file": "/src/setPublicAccessMode.test.ts",8660 "beforeHooks": [8661 {8662 "title": "\"before all\" hook",8663 "fullTitle": "Integration Test setPublicAccessMode(): \"before all\" hook",8664 "timedOut": false,8665 "duration": 0,8666 "state": null,8667 "speed": null,8668 "pass": false,8669 "fail": false,8670 "pending": false,8671 "context": null,8672 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",8673 "err": {},8674 "uuid": "2c502666-f62e-4258-b153-af208488ecd1",8675 "parentUUID": null,8676 "isHook": true,8677 "skipped": false8678 }8679 ],8680 "afterHooks": [],8681 "tests": [8682 {8683 "title": "Run extrinsic with collection id parameters, set the whitelist mode for the collection",8684 "fullTitle": "Integration Test setPublicAccessMode(): Run extrinsic with collection id parameters, set the whitelist mode for the collection",8685 "timedOut": false,8686 "duration": 0,8687 "state": null,8688 "speed": null,8689 "pass": false,8690 "fail": false,8691 "pending": false,8692 "context": null,8693 "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});",8694 "err": {},8695 "uuid": "55b032ac-9618-4054-95ea-d81ba90b0c90",8696 "parentUUID": null,8697 "isHook": false,8698 "skipped": true8699 },8700 {8701 "title": "Whitelisted collection limits",8702 "fullTitle": "Integration Test setPublicAccessMode(): Whitelisted collection limits",8703 "timedOut": false,8704 "duration": 0,8705 "state": null,8706 "speed": null,8707 "pass": false,8708 "fail": false,8709 "pending": false,8710 "context": null,8711 "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});",8712 "err": {},8713 "uuid": "1a73aee5-8fbf-4c9e-8597-1fd85d8535b9",8714 "parentUUID": null,8715 "isHook": false,8716 "skipped": true8717 }8718 ],8719 "suites": [],8720 "passes": [],8721 "failures": [],8722 "pending": [],8723 "skipped": [8724 "55b032ac-9618-4054-95ea-d81ba90b0c90",8725 "1a73aee5-8fbf-4c9e-8597-1fd85d8535b9"8726 ],8727 "duration": 0,8728 "root": false,8729 "rootEmpty": false,8730 "_timeout": 99999998731 },8732 {8733 "uuid": "2b95666d-f34b-4ed3-acf5-fdd7ea14f453",8734 "title": "Negative Integration Test ext. setPublicAccessMode(): ",8735 "fullFile": "/nft_parachain/tests/src/setPublicAccessMode.test.ts",8736 "file": "/src/setPublicAccessMode.test.ts",8737 "beforeHooks": [],8738 "afterHooks": [],8739 "tests": [8740 {8741 "title": "Set a non-existent collection",8742 "fullTitle": "Negative Integration Test ext. setPublicAccessMode(): Set a non-existent collection",8743 "timedOut": false,8744 "duration": 0,8745 "state": null,8746 "speed": null,8747 "pass": false,8748 "fail": false,8749 "pending": false,8750 "context": null,8751 "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});",8752 "err": {},8753 "uuid": "bf038639-2b3a-4e55-8fd8-87fc2dd2079f",8754 "parentUUID": null,8755 "isHook": false,8756 "skipped": true8757 },8758 {8759 "title": "Set the collection that has been deleted",8760 "fullTitle": "Negative Integration Test ext. setPublicAccessMode(): Set the collection that has been deleted",8761 "timedOut": false,8762 "duration": 0,8763 "state": null,8764 "speed": null,8765 "pass": false,8766 "fail": false,8767 "pending": false,8768 "context": null,8769 "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});",8770 "err": {},8771 "uuid": "0869df88-a579-4e57-82e3-ed0cec2df308",8772 "parentUUID": null,8773 "isHook": false,8774 "skipped": true8775 },8776 {8777 "title": "Re-set the list mode already set in quantity",8778 "fullTitle": "Negative Integration Test ext. setPublicAccessMode(): Re-set the list mode already set in quantity",8779 "timedOut": false,8780 "duration": 0,8781 "state": null,8782 "speed": null,8783 "pass": false,8784 "fail": false,8785 "pending": false,8786 "context": null,8787 "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});",8788 "err": {},8789 "uuid": "c15c0080-3c65-4afd-89e5-b6ac7c08880a",8790 "parentUUID": null,8791 "isHook": false,8792 "skipped": true8793 },8794 {8795 "title": "Execute method not on behalf of the collection owner",8796 "fullTitle": "Negative Integration Test ext. setPublicAccessMode(): Execute method not on behalf of the collection owner",8797 "timedOut": false,8798 "duration": 0,8799 "state": null,8800 "speed": null,8801 "pass": false,8802 "fail": false,8803 "pending": false,8804 "context": null,8805 "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});",8806 "err": {},8807 "uuid": "65f44b07-e980-4937-a64e-966cc44cdfd0",8808 "parentUUID": null,8809 "isHook": false,8810 "skipped": true8811 }8812 ],8813 "suites": [],8814 "passes": [],8815 "failures": [],8816 "pending": [],8817 "skipped": [8818 "bf038639-2b3a-4e55-8fd8-87fc2dd2079f",8819 "0869df88-a579-4e57-82e3-ed0cec2df308",8820 "c15c0080-3c65-4afd-89e5-b6ac7c08880a",8821 "65f44b07-e980-4937-a64e-966cc44cdfd0"8822 ],8823 "duration": 0,8824 "root": false,8825 "rootEmpty": false,8826 "_timeout": 99999998827 },8828 {8829 "uuid": "fe633113-3571-4966-8ef2-f21169ed6919",8830 "title": "Negative Integration Test ext. collection admin setPublicAccessMode(): ",8831 "fullFile": "/nft_parachain/tests/src/setPublicAccessMode.test.ts",8832 "file": "/src/setPublicAccessMode.test.ts",8833 "beforeHooks": [8834 {8835 "title": "\"before all\" hook",8836 "fullTitle": "Negative Integration Test ext. collection admin setPublicAccessMode(): \"before all\" hook",8837 "timedOut": false,8838 "duration": 0,8839 "state": null,8840 "speed": null,8841 "pass": false,8842 "fail": false,8843 "pending": false,8844 "context": null,8845 "code": "await substrate_api_1.default(async () => {\n Alice = privateKey_1.default('//Alice');\n Bob = privateKey_1.default('//Bob');\n});",8846 "err": {},8847 "uuid": "67f09b42-dea1-4c38-ae29-14ec5b16ac2f",8848 "parentUUID": null,8849 "isHook": true,8850 "skipped": false8851 }8852 ],8853 "afterHooks": [],8854 "tests": [8855 {8856 "title": "setPublicAccessMode by collection admin",8857 "fullTitle": "Negative Integration Test ext. collection admin setPublicAccessMode(): setPublicAccessMode by collection admin",8858 "timedOut": false,8859 "duration": 0,8860 "state": null,8861 "speed": null,8862 "pass": false,8863 "fail": false,8864 "pending": false,8865 "context": null,8866 "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});",8867 "err": {},8868 "uuid": "f7f2e202-851a-4608-8011-59ed6f8cfd89",8869 "parentUUID": null,8870 "isHook": false,8871 "skipped": true8872 }8873 ],8874 "suites": [],8875 "passes": [],8876 "failures": [],8877 "pending": [],8878 "skipped": [8879 "f7f2e202-851a-4608-8011-59ed6f8cfd89"8880 ],8881 "duration": 0,8882 "root": false,8883 "rootEmpty": false,8884 "_timeout": 99999998885 },8886 {8887 "uuid": "95210d41-0381-4266-a470-6b1c1a8dd7d9",8888 "title": "hooks",8889 "fullFile": "/nft_parachain/tests/src/setSchemaVersion.test.ts",8890 "file": "/src/setSchemaVersion.test.ts",8891 "beforeHooks": [8892 {8893 "title": "\"before all\" hook",8894 "fullTitle": "hooks \"before all\" hook",8895 "timedOut": false,8896 "duration": 0,8897 "state": null,8898 "speed": null,8899 "pass": false,8900 "fail": false,8901 "pending": false,8902 "context": null,8903 "code": "await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n});",8904 "err": {},8905 "uuid": "65514693-ecaf-402a-a914-8207dc6e0e64",8906 "parentUUID": null,8907 "isHook": true,8908 "skipped": false8909 }8910 ],8911 "afterHooks": [],8912 "tests": [8913 {8914 "title": "choose or create collection for testing",8915 "fullTitle": "hooks choose or create collection for testing",8916 "timedOut": false,8917 "duration": 0,8918 "state": null,8919 "speed": null,8920 "pass": false,8921 "fail": false,8922 "pending": false,8923 "context": null,8924 "code": "await substrate_api_1.default(async () => {\n collectionIdForTesting = await helpers_1.createCollectionExpectSuccess({ name: 'A', description: 'B', tokenPrefix: 'C', mode: { type: 'NFT' } });\n});",8925 "err": {},8926 "uuid": "5dd8b15a-e1e3-432c-a2d1-c3f239c17777",8927 "parentUUID": null,8928 "isHook": false,8929 "skipped": true8930 }8931 ],8932 "suites": [],8933 "passes": [],8934 "failures": [],8935 "pending": [],8936 "skipped": [8937 "5dd8b15a-e1e3-432c-a2d1-c3f239c17777"8938 ],8939 "duration": 0,8940 "root": false,8941 "rootEmpty": false,8942 "_timeout": 99999998943 },8944 {8945 "uuid": "b29cdf70-5c2b-4f4f-b53e-72c1180da4f5",8946 "title": "setSchemaVersion positive",8947 "fullFile": "/nft_parachain/tests/src/setSchemaVersion.test.ts",8948 "file": "/src/setSchemaVersion.test.ts",8949 "beforeHooks": [8950 {8951 "title": "\"before all\" hook",8952 "fullTitle": "setSchemaVersion positive \"before all\" hook",8953 "timedOut": false,8954 "duration": 0,8955 "state": null,8956 "speed": null,8957 "pass": false,8958 "fail": false,8959 "pending": false,8960 "context": null,8961 "code": "await substrate_api_1.default(async () => {\n const keyring = new api_1.Keyring({ type: 'sr25519' });\n alice = keyring.addFromUri('//Alice');\n});",8962 "err": {},8963 "uuid": "9013432b-5ba4-4bc8-a7a2-cde5e009de3e",8964 "parentUUID": null,8965 "isHook": true,8966 "skipped": false8967 }8968 ],8969 "afterHooks": [],8970 "tests": [8971 {8972 "title": "execute setSchemaVersion with image url and unique ",8973 "fullTitle": "setSchemaVersion positive execute setSchemaVersion with image url and unique ",8974 "timedOut": false,8975 "duration": 0,8976 "state": null,8977 "speed": null,8978 "pass": false,8979 "fail": false,8980 "pending": false,8981 "context": null,8982 "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});",8983 "err": {},8984 "uuid": "b1f37795-e81d-406d-87f8-c5dadaa5624e",8985 "parentUUID": null,8986 "isHook": false,8987 "skipped": true8988 }8989 ],8990 "suites": [],8991 "passes": [],8992 "failures": [],8993 "pending": [],8994 "skipped": [8995 "b1f37795-e81d-406d-87f8-c5dadaa5624e"8996 ],8997 "duration": 0,8998 "root": false,8999 "rootEmpty": false,9000 "_timeout": 99999999001 },9002 {9003 "uuid": "6b9969df-88db-40ee-8830-8ae2d4577acb",9004 "title": "Collection admin setSchemaVersion positive",9005 "fullFile": "/nft_parachain/tests/src/setSchemaVersion.test.ts",9006 "file": "/src/setSchemaVersion.test.ts",9007 "beforeHooks": [9008 {9009 "title": "\"before all\" hook",9010 "fullTitle": "Collection admin setSchemaVersion positive \"before all\" hook",9011 "timedOut": false,9012 "duration": 0,9013 "state": null,9014 "speed": null,9015 "pass": false,9016 "fail": false,9017 "pending": false,9018 "context": null,9019 "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});",9020 "err": {},9021 "uuid": "499d6f5d-3966-4b81-b3a1-e140c0f46819",9022 "parentUUID": null,9023 "isHook": true,9024 "skipped": false9025 }9026 ],9027 "afterHooks": [],9028 "tests": [9029 {9030 "title": "execute setSchemaVersion with image url and unique ",9031 "fullTitle": "Collection admin setSchemaVersion positive execute setSchemaVersion with image url and unique ",9032 "timedOut": false,9033 "duration": 0,9034 "state": null,9035 "speed": null,9036 "pass": false,9037 "fail": false,9038 "pending": false,9039 "context": null,9040 "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});",9041 "err": {},9042 "uuid": "01b1449a-50b5-4294-b820-94be9a867866",9043 "parentUUID": null,9044 "isHook": false,9045 "skipped": true9046 },9047 {9048 "title": "validate schema version with just entered data",9049 "fullTitle": "Collection admin setSchemaVersion positive validate schema version with just entered data",9050 "timedOut": false,9051 "duration": 0,9052 "state": null,9053 "speed": null,9054 "pass": false,9055 "fail": false,9056 "pending": false,9057 "context": null,9058 "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});",9059 "err": {},9060 "uuid": "f3f49e1a-d105-4784-a94b-f19feafab72e",9061 "parentUUID": null,9062 "isHook": false,9063 "skipped": true9064 }9065 ],9066 "suites": [],9067 "passes": [],9068 "failures": [],9069 "pending": [],9070 "skipped": [9071 "01b1449a-50b5-4294-b820-94be9a867866",9072 "f3f49e1a-d105-4784-a94b-f19feafab72e"9073 ],9074 "duration": 0,9075 "root": false,9076 "rootEmpty": false,9077 "_timeout": 99999999078 },9079 {9080 "uuid": "cca36752-479c-4b26-9c41-9ab7c1f97063",9081 "title": "setSchemaVersion negative",9082 "fullFile": "/nft_parachain/tests/src/setSchemaVersion.test.ts",9083 "file": "/src/setSchemaVersion.test.ts",9084 "beforeHooks": [9085 {9086 "title": "\"before all\" hook",9087 "fullTitle": "setSchemaVersion negative \"before all\" hook",9088 "timedOut": false,9089 "duration": 0,9090 "state": null,9091 "speed": null,9092 "pass": false,9093 "fail": false,9094 "pending": false,9095 "context": null,9096 "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});",9097 "err": {},9098 "uuid": "b4dad0a8-e978-4a1f-9a29-5c2bc9f8b228",9099 "parentUUID": null,9100 "isHook": true,9101 "skipped": false9102 }9103 ],9104 "afterHooks": [],9105 "tests": [9106 {9107 "title": "execute setSchemaVersion for not exists collection",9108 "fullTitle": "setSchemaVersion negative execute setSchemaVersion for not exists collection",9109 "timedOut": false,9110 "duration": 0,9111 "state": null,9112 "speed": null,9113 "pass": false,9114 "fail": false,9115 "pending": false,9116 "context": null,9117 "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});",9118 "err": {},9119 "uuid": "711dd282-06df-4b27-ad74-4817c4199cbe",9120 "parentUUID": null,9121 "isHook": false,9122 "skipped": true9123 },9124 {9125 "title": "execute setSchemaVersion with not correct schema version",9126 "fullTitle": "setSchemaVersion negative execute setSchemaVersion with not correct schema version",9127 "timedOut": false,9128 "duration": 0,9129 "state": null,9130 "speed": null,9131 "pass": false,9132 "fail": false,9133 "pending": false,9134 "context": null,9135 "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});",9136 "err": {},9137 "uuid": "03934978-2e4a-416e-a7bd-322c1bf6998d",9138 "parentUUID": null,9139 "isHook": false,9140 "skipped": true9141 },9142 {9143 "title": "execute setSchemaVersion for deleted collection",9144 "fullTitle": "setSchemaVersion negative execute setSchemaVersion for deleted collection",9145 "timedOut": false,9146 "duration": 0,9147 "state": null,9148 "speed": null,9149 "pass": false,9150 "fail": false,9151 "pending": false,9152 "context": null,9153 "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});",9154 "err": {},9155 "uuid": "0f71035a-7ee8-49d5-9108-8c3a8cb20746",9156 "parentUUID": null,9157 "isHook": false,9158 "skipped": true9159 },9160 {9161 "title": "Regular user can`t execute setSchemaVersion with image url and unique ",9162 "fullTitle": "setSchemaVersion negative Regular user can`t execute setSchemaVersion with image url and unique ",9163 "timedOut": false,9164 "duration": 0,9165 "state": null,9166 "speed": null,9167 "pass": false,9168 "fail": false,9169 "pending": false,9170 "context": null,9171 "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});",9172 "err": {},9173 "uuid": "3340ff9a-6b05-4d6f-8008-742400241c25",9174 "parentUUID": null,9175 "isHook": false,9176 "skipped": true9177 }9178 ],9179 "suites": [],9180 "passes": [],9181 "failures": [],9182 "pending": [],9183 "skipped": [9184 "711dd282-06df-4b27-ad74-4817c4199cbe",9185 "03934978-2e4a-416e-a7bd-322c1bf6998d",9186 "0f71035a-7ee8-49d5-9108-8c3a8cb20746",9187 "3340ff9a-6b05-4d6f-8008-742400241c25"9188 ],9189 "duration": 0,9190 "root": false,9191 "rootEmpty": false,9192 "_timeout": 99999999193 },9194 {9195 "uuid": "0e1d8b18-361d-486f-b15e-c942702380ce",9196 "title": "Integration Test setVariableMetaData",9197 "fullFile": "/nft_parachain/tests/src/setVariableMetaData.test.ts",9198 "file": "/src/setVariableMetaData.test.ts",9199 "beforeHooks": [9200 {9201 "title": "\"before all\" hook",9202 "fullTitle": "Integration Test setVariableMetaData \"before all\" hook",9203 "timedOut": false,9204 "duration": 0,9205 "state": null,9206 "speed": null,9207 "pass": false,9208 "fail": false,9209 "pending": false,9210 "context": null,9211 "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});",9212 "err": {},9213 "uuid": "fda3fb20-122c-4c58-a568-38d5df352f10",9214 "parentUUID": null,9215 "isHook": true,9216 "skipped": false9217 }9218 ],9219 "afterHooks": [],9220 "tests": [9221 {9222 "title": "execute setVariableMetaData",9223 "fullTitle": "Integration Test setVariableMetaData execute setVariableMetaData",9224 "timedOut": false,9225 "duration": 0,9226 "state": null,9227 "speed": null,9228 "pass": false,9229 "fail": false,9230 "pending": false,9231 "context": null,9232 "code": "await helpers_1.setVariableMetaDataExpectSuccess(alice, collectionId, tokenId, data);",9233 "err": {},9234 "uuid": "e6809f64-bb74-4063-af89-26ec8b8ccfa1",9235 "parentUUID": null,9236 "isHook": false,9237 "skipped": true9238 },9239 {9240 "title": "verify data was set",9241 "fullTitle": "Integration Test setVariableMetaData verify data was set",9242 "timedOut": false,9243 "duration": 0,9244 "state": null,9245 "speed": null,9246 "pass": false,9247 "fail": false,9248 "pending": false,9249 "context": null,9250 "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});",9251 "err": {},9252 "uuid": "41676afc-1825-4f06-91ba-7d86efc503d2",9253 "parentUUID": null,9254 "isHook": false,9255 "skipped": true9256 }9257 ],9258 "suites": [],9259 "passes": [],9260 "failures": [],9261 "pending": [],9262 "skipped": [9263 "e6809f64-bb74-4063-af89-26ec8b8ccfa1",9264 "41676afc-1825-4f06-91ba-7d86efc503d2"9265 ],9266 "duration": 0,9267 "root": false,9268 "rootEmpty": false,9269 "_timeout": 99999999270 },9271 {9272 "uuid": "5d5baf3a-85e8-457a-837c-aad3479ae0fa",9273 "title": "Integration Test collection admin setVariableMetaData",9274 "fullFile": "/nft_parachain/tests/src/setVariableMetaData.test.ts",9275 "file": "/src/setVariableMetaData.test.ts",9276 "beforeHooks": [9277 {9278 "title": "\"before all\" hook",9279 "fullTitle": "Integration Test collection admin setVariableMetaData \"before all\" hook",9280 "timedOut": false,9281 "duration": 0,9282 "state": null,9283 "speed": null,9284 "pass": false,9285 "fail": false,9286 "pending": false,9287 "context": null,9288 "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});",9289 "err": {},9290 "uuid": "80e76546-37db-4019-a7d4-7c55efa8c3c7",9291 "parentUUID": null,9292 "isHook": true,9293 "skipped": false9294 }9295 ],9296 "afterHooks": [],9297 "tests": [9298 {9299 "title": "execute setVariableMetaData",9300 "fullTitle": "Integration Test collection admin setVariableMetaData execute setVariableMetaData",9301 "timedOut": false,9302 "duration": 0,9303 "state": null,9304 "speed": null,9305 "pass": false,9306 "fail": false,9307 "pending": false,9308 "context": null,9309 "code": "await helpers_1.setVariableMetaDataExpectSuccess(bob, collectionId, tokenId, data);",9310 "err": {},9311 "uuid": "a729be6d-0a5f-453a-b96c-0abe0920eb11",9312 "parentUUID": null,9313 "isHook": false,9314 "skipped": true9315 },9316 {9317 "title": "verify data was set",9318 "fullTitle": "Integration Test collection admin setVariableMetaData verify data was set",9319 "timedOut": false,9320 "duration": 0,9321 "state": null,9322 "speed": null,9323 "pass": false,9324 "fail": false,9325 "pending": false,9326 "context": null,9327 "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});",9328 "err": {},9329 "uuid": "5d706d87-49db-4147-9b21-896aafd8a741",9330 "parentUUID": null,9331 "isHook": false,9332 "skipped": true9333 }9334 ],9335 "suites": [],9336 "passes": [],9337 "failures": [],9338 "pending": [],9339 "skipped": [9340 "a729be6d-0a5f-453a-b96c-0abe0920eb11",9341 "5d706d87-49db-4147-9b21-896aafd8a741"9342 ],9343 "duration": 0,9344 "root": false,9345 "rootEmpty": false,9346 "_timeout": 99999999347 },9348 {9349 "uuid": "8c8b8314-a60a-46d6-9f74-eedbe192ba40",9350 "title": "Negative Integration Test setVariableMetaData",9351 "fullFile": "/nft_parachain/tests/src/setVariableMetaData.test.ts",9352 "file": "/src/setVariableMetaData.test.ts",9353 "beforeHooks": [9354 {9355 "title": "\"before all\" hook",9356 "fullTitle": "Negative Integration Test setVariableMetaData \"before all\" hook",9357 "timedOut": false,9358 "duration": 0,9359 "state": null,9360 "speed": null,9361 "pass": false,9362 "fail": false,9363 "pending": false,9364 "context": null,9365 "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});",9366 "err": {},9367 "uuid": "5f12f2fd-31df-495d-aea7-4b99d560b28c",9368 "parentUUID": null,9369 "isHook": true,9370 "skipped": false9371 }9372 ],9373 "afterHooks": [],9374 "tests": [9375 {9376 "title": "fails on not existing collection id",9377 "fullTitle": "Negative Integration Test setVariableMetaData fails on not existing collection id",9378 "timedOut": false,9379 "duration": 0,9380 "state": null,9381 "speed": null,9382 "pass": false,9383 "fail": false,9384 "pending": false,9385 "context": null,9386 "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});",9387 "err": {},9388 "uuid": "1520d86b-d0f4-4a03-93a4-c4d141613a26",9389 "parentUUID": null,9390 "isHook": false,9391 "skipped": true9392 },9393 {9394 "title": "fails on removed collection id",9395 "fullTitle": "Negative Integration Test setVariableMetaData fails on removed collection id",9396 "timedOut": false,9397 "duration": 0,9398 "state": null,9399 "speed": null,9400 "pass": false,9401 "fail": false,9402 "pending": false,9403 "context": null,9404 "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);",9405 "err": {},9406 "uuid": "44afa873-e07e-407c-bf4b-b79bb327ba52",9407 "parentUUID": null,9408 "isHook": false,9409 "skipped": true9410 },9411 {9412 "title": "fails on removed token",9413 "fullTitle": "Negative Integration Test setVariableMetaData fails on removed token",9414 "timedOut": false,9415 "duration": 0,9416 "state": null,9417 "speed": null,9418 "pass": false,9419 "fail": false,9420 "pending": false,9421 "context": null,9422 "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);",9423 "err": {},9424 "uuid": "98e556c2-b933-484b-9d00-54f72c66bfb4",9425 "parentUUID": null,9426 "isHook": false,9427 "skipped": true9428 },9429 {9430 "title": "fails on not existing token",9431 "fullTitle": "Negative Integration Test setVariableMetaData fails on not existing token",9432 "timedOut": false,9433 "duration": 0,9434 "state": null,9435 "speed": null,9436 "pass": false,9437 "fail": false,9438 "pending": false,9439 "context": null,9440 "code": "const nonExistingTokenId = validTokenId + 1;\nawait helpers_1.setVariableMetaDataExpectFailure(alice, validCollectionId, nonExistingTokenId, data);",9441 "err": {},9442 "uuid": "00979659-a78e-45e7-a73d-18cb03a61c77",9443 "parentUUID": null,9444 "isHook": false,9445 "skipped": true9446 },9447 {9448 "title": "fails on too long data",9449 "fullTitle": "Negative Integration Test setVariableMetaData fails on too long data",9450 "timedOut": false,9451 "duration": 0,9452 "state": null,9453 "speed": null,9454 "pass": false,9455 "fail": false,9456 "pending": false,9457 "context": null,9458 "code": "const tooLongData = new Array(4097).fill(0xff);\nawait helpers_1.setVariableMetaDataExpectFailure(alice, validCollectionId, validTokenId, tooLongData);",9459 "err": {},9460 "uuid": "30efa555-6e64-4176-b43c-59aca9e238cf",9461 "parentUUID": null,9462 "isHook": false,9463 "skipped": true9464 },9465 {9466 "title": "fails on fungible token",9467 "fullTitle": "Negative Integration Test setVariableMetaData fails on fungible token",9468 "timedOut": false,9469 "duration": 0,9470 "state": null,9471 "speed": null,9472 "pass": false,9473 "fail": false,9474 "pending": false,9475 "context": null,9476 "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);",9477 "err": {},9478 "uuid": "9487f809-f766-46d8-810c-db65c513e39d",9479 "parentUUID": null,9480 "isHook": false,9481 "skipped": true9482 },9483 {9484 "title": "fails on bad sender",9485 "fullTitle": "Negative Integration Test setVariableMetaData fails on bad sender",9486 "timedOut": false,9487 "duration": 0,9488 "state": null,9489 "speed": null,9490 "pass": false,9491 "fail": false,9492 "pending": false,9493 "context": null,9494 "code": "await helpers_1.setVariableMetaDataExpectFailure(bob, validCollectionId, validTokenId, data);",9495 "err": {},9496 "uuid": "303cec06-511c-4cb9-82d5-f8d2a651a289",9497 "parentUUID": null,9498 "isHook": false,9499 "skipped": true9500 }9501 ],9502 "suites": [],9503 "passes": [],9504 "failures": [],9505 "pending": [],9506 "skipped": [9507 "1520d86b-d0f4-4a03-93a4-c4d141613a26",9508 "44afa873-e07e-407c-bf4b-b79bb327ba52",9509 "98e556c2-b933-484b-9d00-54f72c66bfb4",9510 "00979659-a78e-45e7-a73d-18cb03a61c77",9511 "30efa555-6e64-4176-b43c-59aca9e238cf",9512 "9487f809-f766-46d8-810c-db65c513e39d",9513 "303cec06-511c-4cb9-82d5-f8d2a651a289"9514 ],9515 "duration": 0,9516 "root": false,9517 "rootEmpty": false,9518 "_timeout": 99999999519 },9520 {9521 "uuid": "1a362ae9-3751-4449-8623-b41905efddb4",9522 "title": "Integration Test setVariableMetadataSponsoringRateLimit",9523 "fullFile": "/nft_parachain/tests/src/setVariableMetadataSponsoringRateLimit.test.ts",9524 "file": "/src/setVariableMetadataSponsoringRateLimit.test.ts",9525 "beforeHooks": [9526 {9527 "title": "\"before all\" hook",9528 "fullTitle": "Integration Test setVariableMetadataSponsoringRateLimit \"before all\" hook",9529 "timedOut": false,9530 "duration": 0,9531 "state": null,9532 "speed": null,9533 "pass": false,9534 "fail": false,9535 "pending": false,9536 "context": null,9537 "code": "await substrate_api_1.default(async (api) => {\n alice = privateKey_1.default('//Alice');\n userWithNoBalance = await helpers_1.findUnusedAddress(api);\n});",9538 "err": {},9539 "uuid": "b007713b-7a18-47e7-b3a0-93019aa5eac5",9540 "parentUUID": null,9541 "isHook": true,9542 "skipped": false9543 }9544 ],9545 "afterHooks": [],9546 "tests": [9547 {9548 "title": "sponsored setVariableMetaData can be called twice with pause for free",9549 "fullTitle": "Integration Test setVariableMetadataSponsoringRateLimit sponsored setVariableMetaData can be called twice with pause for free",9550 "timedOut": false,9551 "duration": 0,9552 "state": null,9553 "speed": null,9554 "pass": false,9555 "fail": false,9556 "pending": false,9557 "context": null,9558 "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]);",9559 "err": {},9560 "uuid": "a9c7a852-b054-41d0-9b46-81c6230b994e",9561 "parentUUID": null,9562 "isHook": false,9563 "skipped": true9564 },9565 {9566 "title": "sponsored setVariableMetaData can't be called twice without pause for free",9567 "fullTitle": "Integration Test setVariableMetadataSponsoringRateLimit sponsored setVariableMetaData can't be called twice without pause for free",9568 "timedOut": false,9569 "duration": 0,9570 "state": null,9571 "speed": null,9572 "pass": false,9573 "fail": false,9574 "pending": false,9575 "context": null,9576 "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]);",9577 "err": {},9578 "uuid": "f044ca9e-d444-4740-b72d-1be45413342f",9579 "parentUUID": null,9580 "isHook": false,9581 "skipped": true9582 },9583 {9584 "title": "sponsored setVariableMetaData can't be called for free with variable metadata above collection limits",9585 "fullTitle": "Integration Test setVariableMetadataSponsoringRateLimit sponsored setVariableMetaData can't be called for free with variable metadata above collection limits",9586 "timedOut": false,9587 "duration": 0,9588 "state": null,9589 "speed": null,9590 "pass": false,9591 "fail": false,9592 "pending": false,9593 "context": null,9594 "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]);",9595 "err": {},9596 "uuid": "8441ac2e-8b88-415d-8be9-2064b1c0e265",9597 "parentUUID": null,9598 "isHook": false,9599 "skipped": true9600 },9601 {9602 "title": "Default value of rate limit does not sponsor setting variable metadata",9603 "fullTitle": "Integration Test setVariableMetadataSponsoringRateLimit Default value of rate limit does not sponsor setting variable metadata",9604 "timedOut": false,9605 "duration": 0,9606 "state": null,9607 "speed": null,9608 "pass": false,9609 "fail": false,9610 "pending": false,9611 "context": null,9612 "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]);",9613 "err": {},9614 "uuid": "5af868e4-77c9-4ddf-8715-0f4d88aa7632",9615 "parentUUID": null,9616 "isHook": false,9617 "skipped": true9618 }9619 ],9620 "suites": [],9621 "passes": [],9622 "failures": [],9623 "pending": [],9624 "skipped": [9625 "a9c7a852-b054-41d0-9b46-81c6230b994e",9626 "f044ca9e-d444-4740-b72d-1be45413342f",9627 "8441ac2e-8b88-415d-8be9-2064b1c0e265",9628 "5af868e4-77c9-4ddf-8715-0f4d88aa7632"9629 ],9630 "duration": 0,9631 "root": false,9632 "rootEmpty": false,9633 "_timeout": 99999999634 },9635 {9636 "uuid": "18086b2e-2832-425b-9558-bc1e65fafd91",9637 "title": "Integration Test ext. setVariableOnChainSchema()",9638 "fullFile": "/nft_parachain/tests/src/setVariableOnChainSchema.test.ts",9639 "file": "/src/setVariableOnChainSchema.test.ts",9640 "beforeHooks": [],9641 "afterHooks": [],9642 "tests": [9643 {9644 "title": "Run extrinsic with parameters of the collection id, set the scheme",9645 "fullTitle": "Integration Test ext. setVariableOnChainSchema() Run extrinsic with parameters of the collection id, set the scheme",9646 "timedOut": false,9647 "duration": 0,9648 "state": null,9649 "speed": null,9650 "pass": false,9651 "fail": false,9652 "pending": false,9653 "context": null,9654 "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});",9655 "err": {},9656 "uuid": "3e84ac33-edf8-463b-a798-9bd566c1923a",9657 "parentUUID": null,9658 "isHook": false,9659 "skipped": true9660 },9661 {9662 "title": "Checking collection data using the setVariableOnChainSchema parameter",9663 "fullTitle": "Integration Test ext. setVariableOnChainSchema() Checking collection data using the setVariableOnChainSchema parameter",9664 "timedOut": false,9665 "duration": 0,9666 "state": null,9667 "speed": null,9668 "pass": false,9669 "fail": false,9670 "pending": false,9671 "context": null,9672 "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});",9673 "err": {},9674 "uuid": "dcff870a-5f53-4ad5-8be3-00122f9d3f97",9675 "parentUUID": null,9676 "isHook": false,9677 "skipped": true9678 }9679 ],9680 "suites": [],9681 "passes": [],9682 "failures": [],9683 "pending": [],9684 "skipped": [9685 "3e84ac33-edf8-463b-a798-9bd566c1923a",9686 "dcff870a-5f53-4ad5-8be3-00122f9d3f97"9687 ],9688 "duration": 0,9689 "root": false,9690 "rootEmpty": false,9691 "_timeout": 99999999692 },9693 {9694 "uuid": "5758eb2f-a731-428e-b6df-220ca5552865",9695 "title": "Integration Test ext. collection admin setVariableOnChainSchema()",9696 "fullFile": "/nft_parachain/tests/src/setVariableOnChainSchema.test.ts",9697 "file": "/src/setVariableOnChainSchema.test.ts",9698 "beforeHooks": [],9699 "afterHooks": [],9700 "tests": [9701 {9702 "title": "Run extrinsic with parameters of the collection id, set the scheme",9703 "fullTitle": "Integration Test ext. collection admin setVariableOnChainSchema() Run extrinsic with parameters of the collection id, set the scheme",9704 "timedOut": false,9705 "duration": 0,9706 "state": null,9707 "speed": null,9708 "pass": false,9709 "fail": false,9710 "pending": false,9711 "context": null,9712 "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});",9713 "err": {},9714 "uuid": "c72d5119-bb01-455c-8ec7-9cbc3f68acf9",9715 "parentUUID": null,9716 "isHook": false,9717 "skipped": true9718 },9719 {9720 "title": "Checking collection data using the setVariableOnChainSchema parameter",9721 "fullTitle": "Integration Test ext. collection admin setVariableOnChainSchema() Checking collection data using the setVariableOnChainSchema parameter",9722 "timedOut": false,9723 "duration": 0,9724 "state": null,9725 "speed": null,9726 "pass": false,9727 "fail": false,9728 "pending": false,9729 "context": null,9730 "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});",9731 "err": {},9732 "uuid": "ab94900d-3da5-4bf8-96b9-f765ea577a32",9733 "parentUUID": null,9734 "isHook": false,9735 "skipped": true9736 }9737 ],9738 "suites": [],9739 "passes": [],9740 "failures": [],9741 "pending": [],9742 "skipped": [9743 "c72d5119-bb01-455c-8ec7-9cbc3f68acf9",9744 "ab94900d-3da5-4bf8-96b9-f765ea577a32"9745 ],9746 "duration": 0,9747 "root": false,9748 "rootEmpty": false,9749 "_timeout": 99999999750 },9751 {9752 "uuid": "159c6c9c-e143-4ec8-b00c-9a6065bb7444",9753 "title": "Negative Integration Test ext. setVariableOnChainSchema()",9754 "fullFile": "/nft_parachain/tests/src/setVariableOnChainSchema.test.ts",9755 "file": "/src/setVariableOnChainSchema.test.ts",9756 "beforeHooks": [],9757 "afterHooks": [],9758 "tests": [9759 {9760 "title": "Set a non-existent collection",9761 "fullTitle": "Negative Integration Test ext. setVariableOnChainSchema() Set a non-existent collection",9762 "timedOut": false,9763 "duration": 0,9764 "state": null,9765 "speed": null,9766 "pass": false,9767 "fail": false,9768 "pending": false,9769 "context": null,9770 "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});",9771 "err": {},9772 "uuid": "bc86c05c-a512-4230-9b61-d1f6c76a4501",9773 "parentUUID": null,9774 "isHook": false,9775 "skipped": true9776 },9777 {9778 "title": "Set a previously deleted collection",9779 "fullTitle": "Negative Integration Test ext. setVariableOnChainSchema() Set a previously deleted collection",9780 "timedOut": false,9781 "duration": 0,9782 "state": null,9783 "speed": null,9784 "pass": false,9785 "fail": false,9786 "pending": false,9787 "context": null,9788 "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});",9789 "err": {},9790 "uuid": "f082d5ab-8d6f-43cd-a23d-f89109a56116",9791 "parentUUID": null,9792 "isHook": false,9793 "skipped": true9794 },9795 {9796 "title": "Set invalid data in schema (size too large:> 1024b)",9797 "fullTitle": "Negative Integration Test ext. setVariableOnChainSchema() Set invalid data in schema (size too large:> 1024b)",9798 "timedOut": false,9799 "duration": 0,9800 "state": null,9801 "speed": null,9802 "pass": false,9803 "fail": false,9804 "pending": false,9805 "context": null,9806 "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});",9807 "err": {},9808 "uuid": "8cc68f97-6041-4842-b0fd-04dad9d20a74",9809 "parentUUID": null,9810 "isHook": false,9811 "skipped": true9812 },9813 {9814 "title": "Execute method not on behalf of the collection owner",9815 "fullTitle": "Negative Integration Test ext. setVariableOnChainSchema() Execute method not on behalf of the collection owner",9816 "timedOut": false,9817 "duration": 0,9818 "state": null,9819 "speed": null,9820 "pass": false,9821 "fail": false,9822 "pending": false,9823 "context": null,9824 "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});",9825 "err": {},9826 "uuid": "721fe6f1-7388-4602-b44f-b306e4a80dc9",9827 "parentUUID": null,9828 "isHook": false,9829 "skipped": true9830 }9831 ],9832 "suites": [],9833 "passes": [],9834 "failures": [],9835 "pending": [],9836 "skipped": [9837 "bc86c05c-a512-4230-9b61-d1f6c76a4501",9838 "f082d5ab-8d6f-43cd-a23d-f89109a56116",9839 "8cc68f97-6041-4842-b0fd-04dad9d20a74",9840 "721fe6f1-7388-4602-b44f-b306e4a80dc9"9841 ],9842 "duration": 0,9843 "root": false,9844 "rootEmpty": false,9845 "_timeout": 99999999846 },9847 {9848 "uuid": "5a1340ed-9a0e-4ec0-af62-ee259c4f8d77",9849 "title": "Integration Test toggleContractWhiteList",9850 "fullFile": "/nft_parachain/tests/src/toggleContractWhiteList.test.ts",9851 "file": "/src/toggleContractWhiteList.test.ts",9852 "beforeHooks": [],9853 "afterHooks": [],9854 "tests": [9855 {9856 "title": "Enable white list contract mode",9857 "fullTitle": "Integration Test toggleContractWhiteList Enable white list contract mode",9858 "timedOut": false,9859 "duration": 0,9860 "state": null,9861 "speed": null,9862 "pass": false,9863 "fail": false,9864 "pending": true,9865 "context": null,9866 "code": "",9867 "err": {},9868 "uuid": "3b1ce9c7-2447-420c-b474-ac3ca85fc507",9869 "parentUUID": null,9870 "isHook": false,9871 "skipped": false9872 },9873 {9874 "title": "Only whitelisted account can call contract",9875 "fullTitle": "Integration Test toggleContractWhiteList Only whitelisted account can call contract",9876 "timedOut": false,9877 "duration": 0,9878 "state": null,9879 "speed": null,9880 "pass": false,9881 "fail": false,9882 "pending": true,9883 "context": null,9884 "code": "",9885 "err": {},9886 "uuid": "4b092e32-c2e5-4bc7-81d9-8efadf917431",9887 "parentUUID": null,9888 "isHook": false,9889 "skipped": false9890 },9891 {9892 "title": "Enabling white list repeatedly should not produce errors",9893 "fullTitle": "Integration Test toggleContractWhiteList Enabling white list repeatedly should not produce errors",9894 "timedOut": false,9895 "duration": 0,9896 "state": null,9897 "speed": null,9898 "pass": false,9899 "fail": false,9900 "pending": true,9901 "context": null,9902 "code": "",9903 "err": {},9904 "uuid": "30f63030-adec-4500-b814-5da7eacddec7",9905 "parentUUID": null,9906 "isHook": false,9907 "skipped": false9908 }9909 ],9910 "suites": [],9911 "passes": [],9912 "failures": [],9913 "pending": [9914 "3b1ce9c7-2447-420c-b474-ac3ca85fc507",9915 "4b092e32-c2e5-4bc7-81d9-8efadf917431",9916 "30f63030-adec-4500-b814-5da7eacddec7"9917 ],9918 "skipped": [],9919 "duration": 0,9920 "root": false,9921 "rootEmpty": false,9922 "_timeout": 99999999923 },9924 {9925 "uuid": "3f130c5f-721a-473d-b977-74ca9fdab991",9926 "title": "Negative Integration Test toggleContractWhiteList",9927 "fullFile": "/nft_parachain/tests/src/toggleContractWhiteList.test.ts",9928 "file": "/src/toggleContractWhiteList.test.ts",9929 "beforeHooks": [],9930 "afterHooks": [],9931 "tests": [9932 {9933 "title": "Enable white list for a non-contract",9934 "fullTitle": "Negative Integration Test toggleContractWhiteList Enable white list for a non-contract",9935 "timedOut": false,9936 "duration": 0,9937 "state": null,9938 "speed": null,9939 "pass": false,9940 "fail": false,9941 "pending": true,9942 "context": null,9943 "code": "",9944 "err": {},9945 "uuid": "dda7fd05-b1e8-4974-a8df-a32680f561ac",9946 "parentUUID": null,9947 "isHook": false,9948 "skipped": false9949 },9950 {9951 "title": "Enable white list using a non-owner address",9952 "fullTitle": "Negative Integration Test toggleContractWhiteList Enable white list using a non-owner address",9953 "timedOut": false,9954 "duration": 0,9955 "state": null,9956 "speed": null,9957 "pass": false,9958 "fail": false,9959 "pending": true,9960 "context": null,9961 "code": "",9962 "err": {},9963 "uuid": "cf1a94b5-348b-4963-9504-b79dbdc57f5b",9964 "parentUUID": null,9965 "isHook": false,9966 "skipped": false9967 }9968 ],9969 "suites": [],9970 "passes": [],9971 "failures": [],9972 "pending": [9973 "dda7fd05-b1e8-4974-a8df-a32680f561ac",9974 "cf1a94b5-348b-4963-9504-b79dbdc57f5b"9975 ],9976 "skipped": [],9977 "duration": 0,9978 "root": false,9979 "rootEmpty": false,9980 "_timeout": 99999999981 },9982 {9983 "uuid": "9c8d5c0f-ed60-46ea-8dc8-d02454d960a4",9984 "title": "Integration Test Transfer(recipient, collection_id, item_id, value)",9985 "fullFile": "/nft_parachain/tests/src/transfer.test.ts",9986 "file": "/src/transfer.test.ts",9987 "beforeHooks": [],9988 "afterHooks": [],9989 "tests": [9990 {9991 "title": "Balance transfers and check balance",9992 "fullTitle": "Integration Test Transfer(recipient, collection_id, item_id, value) Balance transfers and check balance",9993 "timedOut": false,9994 "duration": 0,9995 "state": null,9996 "speed": null,9997 "pass": false,9998 "fail": false,9999 "pending": false,10000 "context": null,10001 "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});",10002 "err": {},10003 "uuid": "ff5f089a-e6f0-4da1-9411-b0d0808e8007",10004 "parentUUID": null,10005 "isHook": false,10006 "skipped": true10007 },10008 {10009 "title": "Inability to pay fees error message is correct",10010 "fullTitle": "Integration Test Transfer(recipient, collection_id, item_id, value) Inability to pay fees error message is correct",10011 "timedOut": false,10012 "duration": 0,10013 "state": null,10014 "speed": null,10015 "pass": false,10016 "fail": false,10017 "pending": false,10018 "context": null,10019 "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});",10020 "err": {},10021 "uuid": "c05ffbdf-f157-4424-8a79-abaf1629a4b9",10022 "parentUUID": null,10023 "isHook": false,10024 "skipped": true10025 },10026 {10027 "title": "User can transfer owned token",10028 "fullTitle": "Integration Test Transfer(recipient, collection_id, item_id, value) User can transfer owned token",10029 "timedOut": false,10030 "duration": 0,10031 "state": null,10032 "speed": null,10033 "pass": false,10034 "fail": false,10035 "pending": false,10036 "context": null,10037 "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});",10038 "err": {},10039 "uuid": "fe4480f5-d2ee-460a-a77f-d93a648df0a7",10040 "parentUUID": null,10041 "isHook": false,10042 "skipped": true10043 },10044 {10045 "title": "Collection admin can transfer owned token",10046 "fullTitle": "Integration Test Transfer(recipient, collection_id, item_id, value) Collection admin can transfer owned token",10047 "timedOut": false,10048 "duration": 0,10049 "state": null,10050 "speed": null,10051 "pass": false,10052 "fail": false,10053 "pending": false,10054 "context": null,10055 "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});",10056 "err": {},10057 "uuid": "fd485e0b-791b-41be-b8f6-67d6d90a2832",10058 "parentUUID": null,10059 "isHook": false,10060 "skipped": true10061 }10062 ],10063 "suites": [],10064 "passes": [],10065 "failures": [],10066 "pending": [],10067 "skipped": [10068 "ff5f089a-e6f0-4da1-9411-b0d0808e8007",10069 "c05ffbdf-f157-4424-8a79-abaf1629a4b9",10070 "fe4480f5-d2ee-460a-a77f-d93a648df0a7",10071 "fd485e0b-791b-41be-b8f6-67d6d90a2832"10072 ],10073 "duration": 0,10074 "root": false,10075 "rootEmpty": false,10076 "_timeout": 999999910077 },10078 {10079 "uuid": "6a098daf-9cfd-4d12-a0d0-dce0047c4b5a",10080 "title": "Negative Integration Test Transfer(recipient, collection_id, item_id, value)",10081 "fullFile": "/nft_parachain/tests/src/transfer.test.ts",10082 "file": "/src/transfer.test.ts",10083 "beforeHooks": [10084 {10085 "title": "\"before all\" hook",10086 "fullTitle": "Negative Integration Test Transfer(recipient, collection_id, item_id, value) \"before all\" hook",10087 "timedOut": false,10088 "duration": 0,10089 "state": null,10090 "speed": null,10091 "pass": false,10092 "fail": false,10093 "pending": false,10094 "context": null,10095 "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});",10096 "err": {},10097 "uuid": "f1154bc2-86d1-41f5-a635-80a9ea654c9c",10098 "parentUUID": null,10099 "isHook": true,10100 "skipped": false10101 }10102 ],10103 "afterHooks": [],10104 "tests": [10105 {10106 "title": "Transfer with not existed collection_id",10107 "fullTitle": "Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with not existed collection_id",10108 "timedOut": false,10109 "duration": 0,10110 "state": null,10111 "speed": null,10112 "pass": false,10113 "fail": false,10114 "pending": false,10115 "context": null,10116 "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});",10117 "err": {},10118 "uuid": "c33a248a-96db-4899-a133-4b0b38537e2f",10119 "parentUUID": null,10120 "isHook": false,10121 "skipped": true10122 },10123 {10124 "title": "Transfer with deleted collection_id",10125 "fullTitle": "Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with deleted collection_id",10126 "timedOut": false,10127 "duration": 0,10128 "state": null,10129 "speed": null,10130 "pass": false,10131 "fail": false,10132 "pending": false,10133 "context": null,10134 "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);",10135 "err": {},10136 "uuid": "287947b2-8b40-4497-a405-e5912ca3021c",10137 "parentUUID": null,10138 "isHook": false,10139 "skipped": true10140 },10141 {10142 "title": "Transfer with not existed item_id",10143 "fullTitle": "Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with not existed item_id",10144 "timedOut": false,10145 "duration": 0,10146 "state": null,10147 "speed": null,10148 "pass": false,10149 "fail": false,10150 "pending": false,10151 "context": null,10152 "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);",10153 "err": {},10154 "uuid": "29c0307e-a6ae-4634-9f53-df09beed96ea",10155 "parentUUID": null,10156 "isHook": false,10157 "skipped": true10158 },10159 {10160 "title": "Transfer with deleted item_id",10161 "fullTitle": "Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with deleted item_id",10162 "timedOut": false,10163 "duration": 0,10164 "state": null,10165 "speed": null,10166 "pass": false,10167 "fail": false,10168 "pending": false,10169 "context": null,10170 "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);",10171 "err": {},10172 "uuid": "1cf9d8b1-7447-465a-9660-fd7c2ed5bf99",10173 "parentUUID": null,10174 "isHook": false,10175 "skipped": true10176 },10177 {10178 "title": "Transfer with recipient that is not owner",10179 "fullTitle": "Negative Integration Test Transfer(recipient, collection_id, item_id, value) Transfer with recipient that is not owner",10180 "timedOut": false,10181 "duration": 0,10182 "state": null,10183 "speed": null,10184 "pass": false,10185 "fail": false,10186 "pending": false,10187 "context": null,10188 "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);",10189 "err": {},10190 "uuid": "0e1fedb7-69b8-4481-b42b-8cc79765c4c2",10191 "parentUUID": null,10192 "isHook": false,10193 "skipped": true10194 }10195 ],10196 "suites": [],10197 "passes": [],10198 "failures": [],10199 "pending": [],10200 "skipped": [10201 "c33a248a-96db-4899-a133-4b0b38537e2f",10202 "287947b2-8b40-4497-a405-e5912ca3021c",10203 "29c0307e-a6ae-4634-9f53-df09beed96ea",10204 "1cf9d8b1-7447-465a-9660-fd7c2ed5bf99",10205 "0e1fedb7-69b8-4481-b42b-8cc79765c4c2"10206 ],10207 "duration": 0,10208 "root": false,10209 "rootEmpty": false,10210 "_timeout": 999999910211 },10212 {10213 "uuid": "0410e3f4-f36a-43d0-8d60-8b2e0be7c8d1",10214 "title": "Integration Test transferFrom(from, recipient, collection_id, item_id, value):",10215 "fullFile": "/nft_parachain/tests/src/transferFrom.test.ts",10216 "file": "/src/transferFrom.test.ts",10217 "beforeHooks": [10218 {10219 "title": "\"before all\" hook",10220 "fullTitle": "Integration Test transferFrom(from, recipient, collection_id, item_id, value): \"before all\" hook",10221 "timedOut": false,10222 "duration": 0,10223 "state": null,10224 "speed": null,10225 "pass": false,10226 "fail": false,10227 "pending": false,10228 "context": null,10229 "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});",10230 "err": {},10231 "uuid": "a7536c7c-5474-4888-afc7-521bef185f82",10232 "parentUUID": null,10233 "isHook": true,10234 "skipped": false10235 }10236 ],10237 "afterHooks": [],10238 "tests": [10239 {10240 "title": "Execute the extrinsic and check nftItemList - owner of token",10241 "fullTitle": "Integration Test transferFrom(from, recipient, collection_id, item_id, value): Execute the extrinsic and check nftItemList - owner of token",10242 "timedOut": false,10243 "duration": 0,10244 "state": null,10245 "speed": null,10246 "pass": false,10247 "fail": false,10248 "pending": false,10249 "context": null,10250 "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});",10251 "err": {},10252 "uuid": "404522b7-6b2c-4cab-a92f-51701c8d5e56",10253 "parentUUID": null,10254 "isHook": false,10255 "skipped": true10256 },10257 {10258 "title": "Should reduce allowance if value is big",10259 "fullTitle": "Integration Test transferFrom(from, recipient, collection_id, item_id, value): Should reduce allowance if value is big",10260 "timedOut": false,10261 "duration": 0,10262 "state": null,10263 "speed": null,10264 "pass": false,10265 "fail": false,10266 "pending": false,10267 "context": null,10268 "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});",10269 "err": {},10270 "uuid": "67cc81b1-6b4d-4368-a5a8-4f53f3ed0401",10271 "parentUUID": null,10272 "isHook": false,10273 "skipped": true10274 },10275 {10276 "title": "can be called by collection owner on non-owned item when OwnerCanTransfer == true",10277 "fullTitle": "Integration Test transferFrom(from, recipient, collection_id, item_id, value): can be called by collection owner on non-owned item when OwnerCanTransfer == true",10278 "timedOut": false,10279 "duration": 0,10280 "state": null,10281 "speed": null,10282 "pass": false,10283 "fail": false,10284 "pending": false,10285 "context": null,10286 "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);",10287 "err": {},10288 "uuid": "f796b3fb-c283-49e4-af9d-a0d155adb5b9",10289 "parentUUID": null,10290 "isHook": false,10291 "skipped": true10292 }10293 ],10294 "suites": [],10295 "passes": [],10296 "failures": [],10297 "pending": [],10298 "skipped": [10299 "404522b7-6b2c-4cab-a92f-51701c8d5e56",10300 "67cc81b1-6b4d-4368-a5a8-4f53f3ed0401",10301 "f796b3fb-c283-49e4-af9d-a0d155adb5b9"10302 ],10303 "duration": 0,10304 "root": false,10305 "rootEmpty": false,10306 "_timeout": 999999910307 },10308 {10309 "uuid": "da6c9c5d-e934-43c6-b4f5-d81ee5822d3d",10310 "title": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value):",10311 "fullFile": "/nft_parachain/tests/src/transferFrom.test.ts",10312 "file": "/src/transferFrom.test.ts",10313 "beforeHooks": [10314 {10315 "title": "\"before all\" hook",10316 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): \"before all\" hook",10317 "timedOut": false,10318 "duration": 0,10319 "state": null,10320 "speed": null,10321 "pass": false,10322 "fail": false,10323 "pending": false,10324 "context": null,10325 "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});",10326 "err": {},10327 "uuid": "16c7cbf7-e6c2-4528-9716-20bce579c2c0",10328 "parentUUID": null,10329 "isHook": true,10330 "skipped": false10331 }10332 ],10333 "afterHooks": [],10334 "tests": [10335 {10336 "title": "transferFrom for a collection that does not exist",10337 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom for a collection that does not exist",10338 "timedOut": false,10339 "duration": 0,10340 "state": null,10341 "speed": null,10342 "pass": false,10343 "fail": false,10344 "pending": false,10345 "context": null,10346 "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});",10347 "err": {},10348 "uuid": "a5d44056-808b-4e47-ade8-bd1895df0d4a",10349 "parentUUID": null,10350 "isHook": false,10351 "skipped": true10352 },10353 {10354 "title": "transferFrom for not approved address",10355 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom for not approved address",10356 "timedOut": false,10357 "duration": 0,10358 "state": null,10359 "speed": null,10360 "pass": false,10361 "fail": false,10362 "pending": false,10363 "context": null,10364 "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});",10365 "err": {},10366 "uuid": "4b7c8080-6427-4e7e-afa5-0bf79d02c87b",10367 "parentUUID": null,10368 "isHook": false,10369 "skipped": true10370 },10371 {10372 "title": "transferFrom incorrect token count",10373 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom incorrect token count",10374 "timedOut": false,10375 "duration": 0,10376 "state": null,10377 "speed": null,10378 "pass": false,10379 "fail": false,10380 "pending": false,10381 "context": null,10382 "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});",10383 "err": {},10384 "uuid": "ec426f3f-098a-4625-81db-114d31d1a074",10385 "parentUUID": null,10386 "isHook": false,10387 "skipped": true10388 },10389 {10390 "title": "execute transferFrom from account that is not owner of collection",10391 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): execute transferFrom from account that is not owner of collection",10392 "timedOut": false,10393 "duration": 0,10394 "state": null,10395 "speed": null,10396 "pass": false,10397 "fail": false,10398 "pending": false,10399 "context": null,10400 "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});",10401 "err": {},10402 "uuid": "3f42770c-0612-4bda-9549-e6fd8f5ddc02",10403 "parentUUID": null,10404 "isHook": false,10405 "skipped": true10406 },10407 {10408 "title": "transferFrom burnt token before approve NFT",10409 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token before approve NFT",10410 "timedOut": false,10411 "duration": 0,10412 "state": null,10413 "speed": null,10414 "pass": false,10415 "fail": false,10416 "pending": false,10417 "context": null,10418 "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});",10419 "err": {},10420 "uuid": "f2ba3a52-2534-41d8-9030-8cb7882140ef",10421 "parentUUID": null,10422 "isHook": false,10423 "skipped": true10424 },10425 {10426 "title": "transferFrom burnt token before approve Fungible",10427 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token before approve Fungible",10428 "timedOut": false,10429 "duration": 0,10430 "state": null,10431 "speed": null,10432 "pass": false,10433 "fail": false,10434 "pending": false,10435 "context": null,10436 "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});",10437 "err": {},10438 "uuid": "d50d2028-3c93-4588-a866-c4f15bddb4ca",10439 "parentUUID": null,10440 "isHook": false,10441 "skipped": true10442 },10443 {10444 "title": "transferFrom burnt token before approve ReFungible",10445 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token before approve ReFungible",10446 "timedOut": false,10447 "duration": 0,10448 "state": null,10449 "speed": null,10450 "pass": false,10451 "fail": false,10452 "pending": false,10453 "context": null,10454 "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});",10455 "err": {},10456 "uuid": "1b9fb2ec-9327-436e-b5aa-2331c5e7af30",10457 "parentUUID": null,10458 "isHook": false,10459 "skipped": true10460 },10461 {10462 "title": "transferFrom burnt token after approve NFT",10463 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token after approve NFT",10464 "timedOut": false,10465 "duration": 0,10466 "state": null,10467 "speed": null,10468 "pass": false,10469 "fail": false,10470 "pending": false,10471 "context": null,10472 "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});",10473 "err": {},10474 "uuid": "7321a1d8-58d6-40f8-a8f6-64a521b2b004",10475 "parentUUID": null,10476 "isHook": false,10477 "skipped": true10478 },10479 {10480 "title": "transferFrom burnt token after approve Fungible",10481 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token after approve Fungible",10482 "timedOut": false,10483 "duration": 0,10484 "state": null,10485 "speed": null,10486 "pass": false,10487 "fail": false,10488 "pending": false,10489 "context": null,10490 "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});",10491 "err": {},10492 "uuid": "9e0127f4-4609-415d-8aed-07f00745e523",10493 "parentUUID": null,10494 "isHook": false,10495 "skipped": true10496 },10497 {10498 "title": "transferFrom burnt token after approve ReFungible",10499 "fullTitle": "Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value): transferFrom burnt token after approve ReFungible",10500 "timedOut": false,10501 "duration": 0,10502 "state": null,10503 "speed": null,10504 "pass": false,10505 "fail": false,10506 "pending": false,10507 "context": null,10508 "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});",10509 "err": {},10510 "uuid": "245c015f-866e-4a94-947f-24831361053c",10511 "parentUUID": null,10512 "isHook": false,10513 "skipped": true10514 },10515 {10516 "title": "fails when called by collection owner on non-owned item when OwnerCanTransfer == false",10517 "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",10518 "timedOut": false,10519 "duration": 0,10520 "state": null,10521 "speed": null,10522 "pass": false,10523 "fail": false,10524 "pending": false,10525 "context": null,10526 "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);",10527 "err": {},10528 "uuid": "1ce5816b-f248-446a-80e8-a5cf15efd54f",10529 "parentUUID": null,10530 "isHook": false,10531 "skipped": true10532 }10533 ],10534 "suites": [],10535 "passes": [],10536 "failures": [],10537 "pending": [],10538 "skipped": [10539 "a5d44056-808b-4e47-ade8-bd1895df0d4a",10540 "4b7c8080-6427-4e7e-afa5-0bf79d02c87b",10541 "ec426f3f-098a-4625-81db-114d31d1a074",10542 "3f42770c-0612-4bda-9549-e6fd8f5ddc02",10543 "f2ba3a52-2534-41d8-9030-8cb7882140ef",10544 "d50d2028-3c93-4588-a866-c4f15bddb4ca",10545 "1b9fb2ec-9327-436e-b5aa-2331c5e7af30",10546 "7321a1d8-58d6-40f8-a8f6-64a521b2b004",10547 "9e0127f4-4609-415d-8aed-07f00745e523",10548 "245c015f-866e-4a94-947f-24831361053c",10549 "1ce5816b-f248-446a-80e8-a5cf15efd54f"10550 ],10551 "duration": 0,10552 "root": false,10553 "rootEmpty": false,10554 "_timeout": 999999910555 }10556 ],10557 "passes": [],10558 "failures": [],10559 "pending": [],10560 "skipped": [],10561 "duration": 0,10562 "root": true,10563 "rootEmpty": true,10564 "_timeout": 999999910565 }10566 ],10567 "meta": {10568 "mocha": {10569 "version": "8.4.0"10570 },10571 "mochawesome": {10572 "options": {10573 "quiet": false,10574 "reportFilename": "mochawesome",10575 "saveHtml": true,10576 "saveJson": true,10577 "consoleReporter": "spec",10578 "useInlineDiffs": false,10579 "code": true10580 },10581 "version": "6.2.2"10582 },10583 "marge": {10584 "options": null,10585 "version": "5.2.0"10586 }10587 }10588}