From c3c05030805bf006a62d6731faf29745c35ddf1a Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 23 Dec 2020 15:26:18 +0000 Subject: [PATCH] Merge pull request #48 from usetech-llc/feature/NFTPAR-240 nftpar 240 positive tests --- --- /dev/null +++ b/tests/src/createItem.test.ts @@ -0,0 +1,27 @@ +import { assert } from 'chai'; +import { alicesPublicKey } from './accounts'; +import privateKey from './substrate/privateKey'; +import { default as usingApi } from './substrate/substrate-api'; +import waitNewBlocks from './substrate/wait-new-blocks'; +import { + createCollectionExpectSuccess, + createItemExpectSuccess +} from './util/helpers'; + +describe.only('integration test: ext. createItem():', () => { + it('Create new item in NFT collection', async () => { + const createMode = 'NFT'; + const newCollectionID = await createCollectionExpectSuccess('0', '0', '0', createMode); + await createItemExpectSuccess(newCollectionID, createMode, '//Alice'); + }); + it('Create new item in Fungible collection', async () => { + const createMode = 'Fungible'; + const newCollectionID = await createCollectionExpectSuccess('0', '0', '0', createMode); + await createItemExpectSuccess(newCollectionID, createMode, '//Alice'); + }); + it('Create new item in ReFungible collection', async () => { + const createMode = 'ReFungible'; + const newCollectionID = await createCollectionExpectSuccess('0', '0', '0', createMode); + await createItemExpectSuccess(newCollectionID, createMode, '//Alice'); + }); +}); --- a/tests/src/util/helpers.ts +++ b/tests/src/util/helpers.ts @@ -121,4 +121,22 @@ bal = new BigNumber((await api.query.system.account(unused.address)).data.free.toString()); } while (bal.toFixed() != '0'); return unused; -} \ No newline at end of file +} + +export async function createItemExpectSuccess(collectionId: number, createMode: string, senderSeed: string = '//Alice') { + await usingApi(async (api) => { + + const AItemCount = parseInt((await api.query.nft.itemListIndex(collectionId)).toString()); + + const sender = privateKey(senderSeed); + const tx = api.tx.nft.createItem(collectionId, sender.address, createMode); + const events = await submitTransactionAsync(sender, tx); + const result = getGenericResult(events); + + const BItemCount = parseInt((await api.query.nft.itemListIndex(collectionId)).toString()); + + // What to expect + expect(result.success).to.be.true; + expect(BItemCount).to.be.equal(AItemCount+1); + }); +} -- gitstuff