1import { assert } from 'chai';
2import { alicesPublicKey } from './accounts';
3import privateKey from './substrate/privateKey';
4import { default as usingApi } from './substrate/substrate-api';
5import waitNewBlocks from './substrate/wait-new-blocks';
6import { createCollectionExpectSuccess } from './util/helpers';
7
8describe('integration test: ext. createItem():', () => {
9 it('Create new item in NFT collection', async () => {
10 await usingApi(async (api) => {
11 const createMode = 'NFT';
12 const alicePrivateKey = privateKey('//Alice');
13 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
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 });
25 it('Create new item in Fungible collection', async () => {
26 await usingApi(async (api) => {
27 const createMode = 'Fungible';
28 const alicePrivateKey = privateKey('//Alice');
29 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
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 });
41 it('Create new item in ReFungible collection', async () => {
42 await usingApi(async (api) => {
43 const createMode = 'ReFungible';
44 const alicePrivateKey = privateKey('//Alice');
45 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
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 });
57});