git.delta.rocks / unique-network / refs/commits / d21fc886ea0c

difftreelog

Positive createItem tests

Greg Zaitsev2020-12-23parent: #fbf1789.patch.diff
in: master

2 files changed

modifiedtests/src/createItem.test.tsdiffbeforeafterboth
4import { 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});
5828
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
123 return unused; 123 return unused;
124}124}
125
126export async function createItemExpectSuccess(collectionId: number, createMode: string, senderSeed: string = '//Alice') {
127 await usingApi(async (api) => {
128
129 const AItemCount = parseInt((await api.query.nft.itemListIndex(collectionId)).toString());
130
131 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());
137
138 // What to expect
139 expect(result.success).to.be.true;
140 expect(BItemCount).to.be.equal(AItemCount+1);
141 });
142}
143