difftreelog
Fix missed awaits
in: master
2 files changed
tests/src/createItem.test.tsdiffbeforeafterboth--- a/tests/src/createItem.test.ts
+++ b/tests/src/createItem.test.ts
@@ -158,7 +158,7 @@
const newCollectionID = await createCollectionWithPropsExpectSuccess();
- createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', prps);
+ await createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', prps);
});
});
@@ -166,7 +166,7 @@
await usingApi(async () => {
const newCollectionID = await createCollectionWithPropsExpectSuccess();
- createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', [{key: 'k', value: 'vvvvvv'.repeat(5000)}, {key: 'k2', value: 'vvv'.repeat(5000)}]);
+ await createItemWithPropsExpectFailure(alice, newCollectionID, 'NFT', [{key: 'k', value: 'vvvvvv'.repeat(5000)}, {key: 'k2', value: 'vvv'.repeat(5000)}]);
});
});
});
tests/src/nesting/unnest.test.tsdiffbeforeafterboth1import {expect} from 'chai';2import {tokenIdToAddress} from '../eth/util/helpers';3import usingApi, {executeTransaction} from '../substrate/substrate-api';4import {5 createCollectionExpectSuccess,6 createItemExpectSuccess,7 getBalance,8 getTokenOwner,9 normalizeAccountId,10 setCollectionPermissionsExpectSuccess,11 transferExpectSuccess,12 transferFromExpectSuccess,13} from '../util/helpers';14import {IKeyringPair} from '@polkadot/types/types';1516let alice: IKeyringPair;17let bob: IKeyringPair;1819describe('Integration Test: Unnesting', () => {20 before(async () => {21 await usingApi(async (api, privateKeyWrapper) => {22 alice = privateKeyWrapper('//Alice');23 bob = privateKeyWrapper('//Bob');24 });25 });2627 it('NFT: allows the owner to successfully unnest a token', async () => {28 await usingApi(async api => {29 const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});30 await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});31 const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');32 const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};3334 // Create a nested token35 const nestedToken = await createItemExpectSuccess(alice, collection, 'NFT', targetAddress);3637 // Unnest38 await expect(executeTransaction(39 api,40 alice,41 api.tx.unique.transferFrom(normalizeAccountId(targetAddress), normalizeAccountId(alice), collection, nestedToken, 1),42 ), 'while unnesting').to.not.be.rejected;43 expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: alice.address});4445 // Nest and burn46 await transferExpectSuccess(collection, nestedToken, alice, targetAddress);47 await expect(executeTransaction(48 api,49 alice,50 api.tx.unique.burnFrom(collection, normalizeAccountId(targetAddress), nestedToken, 1),51 ), 'while burning').to.not.be.rejected;52 await expect(getTokenOwner(api, collection, nestedToken)).to.be.rejected;53 });54 });5556 it('Fungible: allows the owner to successfully unnest a token', async () => {57 await usingApi(async api => {58 const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});59 await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});60 const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');61 const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};6263 const collectionFT = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});64 const nestedToken = await createItemExpectSuccess(alice, collectionFT, 'Fungible');6566 // Nest and unnest67 await transferExpectSuccess(collectionFT, nestedToken, alice, targetAddress, 1, 'Fungible');68 await transferFromExpectSuccess(collectionFT, nestedToken, alice, targetAddress, alice, 1, 'Fungible');6970 // Nest and burn71 await transferExpectSuccess(collectionFT, nestedToken, alice, targetAddress, 1, 'Fungible');72 const balanceBefore = await getBalance(api, collectionFT, normalizeAccountId(targetAddress), nestedToken);73 await expect(executeTransaction(74 api,75 alice,76 api.tx.unique.burnFrom(collectionFT, normalizeAccountId(targetAddress), nestedToken, 1),77 ), 'while burning').to.not.be.rejected;78 const balanceAfter = await getBalance(api, collectionFT, normalizeAccountId(targetAddress), nestedToken);79 expect(balanceAfter + BigInt(1)).to.be.equal(balanceBefore);80 });81 });8283 it('ReFungible: allows the owner to successfully unnest a token', async () => {84 await usingApi(async api => {85 const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});86 await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});87 const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');88 const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};8990 const collectionRFT = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});91 const nestedToken = await createItemExpectSuccess(alice, collectionRFT, 'ReFungible');9293 // Nest and unnest94 await transferExpectSuccess(collectionRFT, nestedToken, alice, targetAddress, 1, 'ReFungible');95 await transferFromExpectSuccess(collectionRFT, nestedToken, alice, targetAddress, alice, 1, 'ReFungible');9697 // Nest and burn98 await transferExpectSuccess(collectionRFT, nestedToken, alice, targetAddress, 1, 'ReFungible');99 await expect(executeTransaction(100 api,101 alice,102 api.tx.unique.burnFrom(collectionRFT, normalizeAccountId(targetAddress), nestedToken, 1),103 ), 'while burning').to.not.be.rejected;104 const balance = await getBalance(api, collectionRFT, normalizeAccountId(targetAddress), nestedToken);105 expect(balance).to.be.equal(0n);106 });107 });108});109110describe('Negative Test: Unnesting', () => {111 before(async () => {112 await usingApi(async (api, privateKeyWrapper) => {113 alice = privateKeyWrapper('//Alice');114 bob = privateKeyWrapper('//Bob');115 });116 });117118 it('Disallows a non-owner to unnest/burn a token', async () => {119 await usingApi(async api => {120 const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});121 await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});122 const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');123 const targetAddress = {Ethereum: tokenIdToAddress(collection, targetToken)};124125 // Create a nested token126 const nestedToken = await createItemExpectSuccess(alice, collection, 'NFT', targetAddress);127128 // Try to unnest129 await expect(executeTransaction(130 api,131 bob,132 api.tx.unique.transferFrom(normalizeAccountId(targetAddress), normalizeAccountId(bob), collection, nestedToken, 1),133 ), 'while unnesting').to.be.rejectedWith(/^common\.ApprovedValueTooLow$/);134 expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});135136 // Try to burn137 await expect(executeTransaction(138 api,139 bob,140 api.tx.unique.burnFrom(collection, normalizeAccountId(bob.address), nestedToken, 1),141 ), 'while burning').to.not.be.rejectedWith(/^common\.ApprovedValueTooLow$/);142 expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});143 });144 });145146 // todo another test for creating excessive depth matryoshka with Ethereum?147148 // Recursive nesting149 it('Prevents Ouroboros creation', async () => {150 const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});151 await setCollectionPermissionsExpectSuccess(alice, collection, {nesting: {tokenOwner: true}});152 const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');153154 // Create a nested token ouroboros155 const nestedToken = await createItemExpectSuccess(alice, collection, 'NFT', {Ethereum: tokenIdToAddress(collection, targetToken)});156 expect(transferExpectSuccess(collection, targetToken, alice, {Ethereum: tokenIdToAddress(collection, nestedToken)})).to.be.rejectedWith(/^structure\.OuroborosDetected$/);157 });158});