From fdbcd55be031707a8cb29eaaa9c20be8a55ca4b7 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Tue, 19 Jan 2021 16:14:57 +0000 Subject: [PATCH] Fix transfer test (with burned tokens) --- --- a/tests/src/transfer.test.ts +++ b/tests/src/transfer.test.ts @@ -4,6 +4,7 @@ // import { ApiPromise } from '@polkadot/api'; +import { IKeyringPair } from '@polkadot/types/types'; import { expect } from 'chai'; import { alicesPublicKey, bobsPublicKey } from './accounts'; import getBalance from './substrate/get-balance'; @@ -19,6 +20,10 @@ transferExpectSuccess, } from './util/helpers'; +let Alice: IKeyringPair; +let Bob: IKeyringPair; +let Charlie: IKeyringPair; + describe('Integration Test Transfer(recipient, collection_id, item_id, value)', () => { it('Balance transfers and check balance', async () => { await usingApi(async (api: ApiPromise) => { @@ -81,10 +86,15 @@ }); describe('Negative Integration Test Transfer(recipient, collection_id, item_id, value)', () => { - it('Transfer with not existed collection_id', async () => { + before(async () => { await usingApi(async (api: ApiPromise) => { - const Alice = privateKey('//Alice'); - const Bob = privateKey('//Bob'); + Alice = privateKey('//Alice'); + Bob = privateKey('//Bob'); + Charlie = privateKey('//Charlie'); + }); + }); + it('Transfer with not existed collection_id', async () => { + await usingApi(async (api) => { // nft const nftCollectionCount = await api.query.nft.createdCollectionCount() as unknown as number; await transferExpectFail(nftCollectionCount + 1, 1, Alice, Bob, 1); @@ -97,87 +107,70 @@ }); }); it('Transfer with deleted collection_id', async () => { - await usingApi(async (api: ApiPromise) => { - const Alice = privateKey('//Alice'); - const Bob = privateKey('//Bob'); - // nft - const nftCollectionId = await createCollectionExpectSuccess(); - const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT'); - await destroyCollectionExpectSuccess(nftCollectionId); - await transferExpectFail(nftCollectionId, newNftTokenId, Alice, Bob, 1, 'NFT'); - // fungible - const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); - const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible'); - await destroyCollectionExpectSuccess(fungibleCollectionId); - await transferExpectFail(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1, 'Fungible'); - // reFungible - const reFungibleCollectionId = await - createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); - const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible'); - await destroyCollectionExpectSuccess(reFungibleCollectionId); - await transferExpectFail(reFungibleCollectionId, - newReFungibleTokenId, Alice, Bob, 1, 'ReFungible'); - }); + // nft + const nftCollectionId = await createCollectionExpectSuccess(); + const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT'); + await destroyCollectionExpectSuccess(nftCollectionId); + await transferExpectFail(nftCollectionId, newNftTokenId, Alice, Bob, 1, 'NFT'); + // fungible + const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); + const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible'); + await destroyCollectionExpectSuccess(fungibleCollectionId); + await transferExpectFail(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1, 'Fungible'); + // reFungible + const reFungibleCollectionId = await + createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); + const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible'); + await destroyCollectionExpectSuccess(reFungibleCollectionId); + await transferExpectFail(reFungibleCollectionId, + newReFungibleTokenId, Alice, Bob, 1, 'ReFungible'); }); it('Transfer with not existed item_id', async () => { - await usingApi(async (api: ApiPromise) => { - const Alice = privateKey('//Alice'); - const Bob = privateKey('//Bob'); - // nft - const nftCollectionId = await createCollectionExpectSuccess(); - await transferExpectFail(nftCollectionId, 2, Alice, Bob, 1, 'NFT'); - // fungible - const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); - await transferExpectFail(fungibleCollectionId, 2, Alice, Bob, 1, 'Fungible'); - // reFungible - const reFungibleCollectionId = await - createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); - await transferExpectFail(reFungibleCollectionId, - 2, Alice, Bob, 1, 'ReFungible'); - }); + // nft + const nftCollectionId = await createCollectionExpectSuccess(); + await transferExpectFail(nftCollectionId, 2, Alice, Bob, 1, 'NFT'); + // fungible + const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); + await transferExpectFail(fungibleCollectionId, 2, Alice, Bob, 1, 'Fungible'); + // reFungible + const reFungibleCollectionId = await + createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); + await transferExpectFail(reFungibleCollectionId, + 2, Alice, Bob, 1, 'ReFungible'); }); it('Transfer with deleted item_id', async () => { - await usingApi(async (api: ApiPromise) => { - const Alice = privateKey('//Alice'); - const Bob = privateKey('//Bob'); - // nft - const nftCollectionId = await createCollectionExpectSuccess(); - const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT'); - await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1); - await transferExpectFail(nftCollectionId, newNftTokenId, Alice, Bob, 1, 'NFT'); - // fungible - const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); - const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible'); - await burnItemExpectSuccess(Alice, fungibleCollectionId, newFungibleTokenId, 1); - await transferExpectFail(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1, 'Fungible'); - // reFungible - const reFungibleCollectionId = await - createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); - const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible'); - await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1); - await transferExpectFail(reFungibleCollectionId, - newReFungibleTokenId, Alice, Bob, 1, 'ReFungible'); - }); + // nft + const nftCollectionId = await createCollectionExpectSuccess(); + const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT'); + await burnItemExpectSuccess(Alice, nftCollectionId, newNftTokenId, 1); + await transferExpectFail(nftCollectionId, newNftTokenId, Alice, Bob, 1, 'NFT'); + // fungible + const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); + const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible'); + await burnItemExpectSuccess(Alice, fungibleCollectionId, newFungibleTokenId, 10); + await transferExpectFail(fungibleCollectionId, newFungibleTokenId, Alice, Bob, 1, 'Fungible'); + // reFungible + const reFungibleCollectionId = await + createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); + const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible'); + await burnItemExpectSuccess(Alice, reFungibleCollectionId, newReFungibleTokenId, 1); + await transferExpectFail(reFungibleCollectionId, + newReFungibleTokenId, Alice, Bob, 1, 'ReFungible'); }); it('Transfer with recipient that is not owner', async () => { - await usingApi(async (api: ApiPromise) => { - const Alice = privateKey('//Alice'); - const Bob = privateKey('//Bob'); - const Charlie = privateKey('//CHARLIE'); - // nft - const nftCollectionId = await createCollectionExpectSuccess(); - const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT'); - await transferExpectFail(nftCollectionId, newNftTokenId, Charlie, Bob, 1, 'NFT'); - // fungible - const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); - const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible'); - await transferExpectFail(fungibleCollectionId, newFungibleTokenId, Charlie, Bob, 1, 'Fungible'); - // reFungible - const reFungibleCollectionId = await - createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); - const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible'); - await transferExpectFail(reFungibleCollectionId, - newReFungibleTokenId, Charlie, Bob, 1, 'ReFungible'); - }); + // nft + const nftCollectionId = await createCollectionExpectSuccess(); + const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT'); + await transferExpectFail(nftCollectionId, newNftTokenId, Charlie, Bob, 1, 'NFT'); + // fungible + const fungibleCollectionId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); + const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible'); + await transferExpectFail(fungibleCollectionId, newFungibleTokenId, Charlie, Bob, 1, 'Fungible'); + // reFungible + const reFungibleCollectionId = await + createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}}); + const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible'); + await transferExpectFail(reFungibleCollectionId, + newReFungibleTokenId, Charlie, Bob, 1, 'ReFungible'); }); }); --- a/tests/src/util/helpers.ts +++ b/tests/src/util/helpers.ts @@ -393,7 +393,7 @@ export async function burnItemExpectSuccess(owner: IKeyringPair, collectionId: number, tokenId: number, value = 0) { await usingApi(async (api) => { - const tx = api.tx.nft.burnItem(collectionId, tokenId, 0); + const tx = api.tx.nft.burnItem(collectionId, tokenId, value); const events = await submitTransactionAsync(owner, tx); const result = getGenericResult(events); // Get the item -- gitstuff