difftreelog
Positive createItem tests
in: master
2 files changed
tests/src/createItem.test.tsdiffbeforeafterboth4import { default as usingApi } from './substrate/substrate-api';
4import { default as usingApi } from './substrate/substrate-api';
5import waitNewBlocks from './substrate/wait-new-blocks';
5import waitNewBlocks from './substrate/wait-new-blocks';
6import { createCollectionExpectSuccess } from './util/helpers';
6import {
7
7 createCollectionExpectSuccess,
8 createItemExpectSuccess
9} from './util/helpers';
10
8describe('integration test: ext. createItem():', () => {
11describe.only('integration test: ext. createItem():', () => {
9 it('Create new item in NFT collection', async () => {
12 it('Create new item in NFT collection', async () => {
10 await usingApi(async (api) => {
11 const createMode = 'NFT';
13 const createMode = 'NFT';
12 const alicePrivateKey = privateKey('//Alice');
13 await createCollectionExpectSuccess('0', '0', '0', createMode);
14 const newCollectionID = await createCollectionExpectSuccess('0', '0', '0', createMode);
14 await waitNewBlocks(api);
15 const newCollectionID = await api.query.nft.createdCollectionCount();
16 const AnftItemList = await api.query.nft.itemListIndex(newCollectionID);
17 await api.tx.nft
15 await createItemExpectSuccess(newCollectionID, createMode, '//Alice');
18 .createItem(newCollectionID, alicesPublicKey, createMode)
19 .signAndSend(alicePrivateKey);
20 await waitNewBlocks(api);
21 const BnftItemList = await api.query.nft.itemListIndex(newCollectionID);
22 if (BnftItemList === AnftItemList) {assert.fail(`Error: new item in ${createMode} collection NOT created.`); }
23 });
24 });
16 });
25 it('Create new item in Fungible collection', async () => {
17 it('Create new item in Fungible collection', async () => {
26 await usingApi(async (api) => {
27 const createMode = 'Fungible';
18 const createMode = 'Fungible';
28 const alicePrivateKey = privateKey('//Alice');
29 await createCollectionExpectSuccess('0', '0', '0', createMode);
19 const newCollectionID = await createCollectionExpectSuccess('0', '0', '0', createMode);
30 await waitNewBlocks(api);
31 const newCollectionID = await api.query.nft.createdCollectionCount();
32 const AnftItemList = await api.query.nft.itemListIndex(newCollectionID);
33 await api.tx.nft
20 await createItemExpectSuccess(newCollectionID, createMode, '//Alice');
34 .createItem(newCollectionID, alicesPublicKey, createMode)
35 .signAndSend(alicePrivateKey);
36 await waitNewBlocks(api);
37 const BnftItemList = await api.query.nft.itemListIndex(newCollectionID);
38 if (BnftItemList === AnftItemList) {assert.fail(`Error: new item in ${createMode} collection NOT created.`); }
39 });
40 });
21 });
41 it('Create new item in ReFungible collection', async () => {
22 it('Create new item in ReFungible collection', async () => {
42 await usingApi(async (api) => {
43 const createMode = 'ReFungible';
23 const createMode = 'ReFungible';
44 const alicePrivateKey = privateKey('//Alice');
45 await createCollectionExpectSuccess('0', '0', '0', createMode);
24 const newCollectionID = await createCollectionExpectSuccess('0', '0', '0', createMode);
46 await waitNewBlocks(api);
47 const newCollectionID = await api.query.nft.createdCollectionCount();
48 const AnftItemList = await api.query.nft.itemListIndex(newCollectionID);
49 await api.tx.nft
25 await createItemExpectSuccess(newCollectionID, createMode, '//Alice');
50 .createItem(newCollectionID, alicesPublicKey, 'ReFungible')
51 .signAndSend(alicePrivateKey);
52 await waitNewBlocks(api);
53 const BnftItemList = await api.query.nft.itemListIndex(newCollectionID);
54 if (BnftItemList === AnftItemList) {assert.fail(`Error: new item in ${createMode} collection NOT created.`); }
55 });
56 });
26 });
57});
27});
5828tests/src/util/helpers.tsdiffbeforeafterboth123 return unused; 123 return unused; 124}124}125126export async function createItemExpectSuccess(collectionId: number, createMode: string, senderSeed: string = '//Alice') {127 await usingApi(async (api) => {128129 const AItemCount = parseInt((await api.query.nft.itemListIndex(collectionId)).toString());130131 const sender = privateKey(senderSeed);132 const tx = api.tx.nft.createItem(collectionId, sender.address, createMode);133 const events = await submitTransactionAsync(sender, tx);134 const result = getGenericResult(events);135 136 const BItemCount = parseInt((await api.query.nft.itemListIndex(collectionId)).toString());137138 // What to expect139 expect(result.success).to.be.true;140 expect(BItemCount).to.be.equal(AItemCount+1);141 });142}143