difftreelog
fixes
in: master
3 files changed
tests/src/createMultipleItems.test.tsdiffbeforeafterboth--- a/tests/src/createMultipleItems.test.ts
+++ b/tests/src/createMultipleItems.test.ts
@@ -8,7 +8,11 @@
import chaiAsPromised from 'chai-as-promised';
import privateKey from './substrate/privateKey';
import { default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync } from './substrate/substrate-api';
-import {createCollectionExpectSuccess, destroyCollectionExpectSuccess} from './util/helpers';
+import {
+ createCollectionExpectSuccess,
+ destroyCollectionExpectSuccess,
+ IReFungibleTokenDataType,
+} from './util/helpers';
chai.use(chaiAsPromised);
const expect = chai.expect;
@@ -47,9 +51,45 @@
expect(token1Data.VariableData.toString()).to.be.equal('0x31');
expect(token2Data.VariableData.toString()).to.be.equal('0x32');
expect(token3Data.VariableData.toString()).to.be.equal('0x33');
+ });
+ });
+
+ it('Create 0x31, 0x32, 0x33 items in active ReFungible collection and verify tokens data in chain', async () => {
+ await usingApi(async (api: ApiPromise) => {
+ const collectionId = await createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}});
+ const itemsListIndexBefore = await api.query.nft.itemListIndex(collectionId) as unknown as BN;
+ expect(itemsListIndexBefore.toNumber()).to.be.equal(0);
+ const Alice = privateKey('//Alice');
+ const args = [
+ { Refungible: ['0x31', '0x31'] },
+ { Refungible: ['0x32', '0x32'] },
+ { Refungible: ['0x33', '0x33'] },
+ ];
+ const createMultipleItemsTx = await api.tx.nft
+ .createMultipleItems(collectionId, Alice.address, args);
+ await submitTransactionAsync(Alice, createMultipleItemsTx);
+ const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId) as unknown as BN;
+ expect(itemsListIndexAfter.toNumber()).to.be.equal(3);
+ const token1Data = await api.query.nft.reFungibleItemList(collectionId, 1) as unknown as IReFungibleTokenDataType;
+ const token2Data = await api.query.nft.reFungibleItemList(collectionId, 2) as unknown as IReFungibleTokenDataType;
+ const token3Data = await api.query.nft.reFungibleItemList(collectionId, 3) as unknown as IReFungibleTokenDataType;
+
+ expect(token1Data.Owner[0].Owner.toString()).to.be.equal(Alice.address);
+ expect(token1Data.Owner[0].Fraction.toNumber()).to.be.equal(1);
+
+ expect(token2Data.Owner[0].Owner.toString()).to.be.equal(Alice.address);
+ expect(token2Data.Owner[0].Fraction.toNumber()).to.be.equal(1);
+
+ expect(token3Data.Owner[0].Owner.toString()).to.be.equal(Alice.address);
+ expect(token3Data.Owner[0].Fraction.toNumber()).to.be.equal(1);
- // garbage collection :-D
- await destroyCollectionExpectSuccess(collectionId);
+ expect(token1Data.ConstData.toString()).to.be.equal('0x31');
+ expect(token2Data.ConstData.toString()).to.be.equal('0x32');
+ expect(token3Data.ConstData.toString()).to.be.equal('0x33');
+
+ expect(token1Data.VariableData.toString()).to.be.equal('0x31');
+ expect(token2Data.VariableData.toString()).to.be.equal('0x32');
+ expect(token3Data.VariableData.toString()).to.be.equal('0x33');
});
});
});
@@ -60,15 +100,14 @@
const collectionId = await createCollectionExpectSuccess();
const Alice = privateKey('//Alice');
try {
+ const args = [{ invalid: null }, { invalid: null }, { invalid: null }];
const createMultipleItemsTx = await api.tx.nft
- .createMultipleItems(collectionId, Alice.address, ['UNKNOWN', 'UNKNOWN', 'UNKNOWN']);
+ .createMultipleItems(collectionId, Alice.address, args);
await expect(submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;
} catch (e) {
// tslint:disable-next-line:no-unused-expression
expect(e).to.be.exist;
}
- // garbage collection :-D
- await destroyCollectionExpectSuccess(collectionId);
});
});
@@ -79,8 +118,6 @@
const createMultipleItemsTx = await api.tx.nft
.createMultipleItems(collectionId + 1, Alice.address, ['NFT', 'NFT', 'NFT']);
await expect(submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;
- // garbage collection :-D
- await destroyCollectionExpectSuccess(collectionId);
});
});
@@ -97,21 +134,18 @@
const createMultipleItemsTx = await api.tx.nft
.createMultipleItems(collectionId, Alice.address, args);
await expect(submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;
- // garbage collection :-D
- await destroyCollectionExpectSuccess(collectionId);
- // Fungible
- const collectionIdFungible = await createCollectionExpectSuccess();
- const argsFungible = [
- { fungible: parseInt('1'.repeat(2049), 10) },
- { fungible: parseInt('2'.repeat(2049), 10) },
- { fungible: parseInt('3'.repeat(2049), 10) },
+ // ReFungible
+ const collectionIdReFungible =
+ await createCollectionExpectSuccess({mode: {type: 'ReFungible', decimalPoints: 0}});
+ const argsReFungible = [
+ { ReFungible: ['1'.repeat(2049), '1'.repeat(2049)] },
+ { ReFungible: ['2'.repeat(2049), '2'.repeat(2049)] },
+ { ReFungible: ['3'.repeat(2049), '3'.repeat(2049)] },
];
const createMultipleItemsTxFungible = await api.tx.nft
- .createMultipleItems(collectionIdFungible, Alice.address, argsFungible);
+ .createMultipleItems(collectionIdReFungible, Alice.address, argsReFungible);
await expect(submitTransactionExpectFailAsync(Alice, createMultipleItemsTxFungible)).to.be.rejected;
- // garbage collection :-D
- await destroyCollectionExpectSuccess(collectionId);
});
});
@@ -139,8 +173,6 @@
const createMultipleItemsTx = await api.tx.nft
.createMultipleItems(collectionId, Alice.address, args);
await expect(submitTransactionExpectFailAsync(Alice, createMultipleItemsTx)).to.be.rejected;
- // garbage collection :-D
- await destroyCollectionExpectSuccess(collectionId);
});
});
});
tests/src/substrate/substrate-api.tsdiffbeforeafterboth--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -102,12 +102,9 @@
try {
await transaction.signAndSend(sender, ({ events = [], status }) => {
const transactionStatus = getTransactionStatus(events, status);
-
- console.log('transactionStatus', transactionStatus, 'events', events);
-
- if (transactionStatus == TransactionStatus.Success) {
+ if (transactionStatus === TransactionStatus.Success) {
resolve(events);
- } else if (transactionStatus == TransactionStatus.Fail) {
+ } else if (transactionStatus === TransactionStatus.Fail) {
reject(events);
}
});
tests/src/util/helpers.tsdiffbeforeafterboth51 Value: BN;51 Value: BN;52}52}535354interface IReFungibleTokenDataType {54export interface IReFungibleTokenDataType {55 Owner: IReFungibleOwner[];55 Owner: IReFungibleOwner[];56 ConstData: number[];56 ConstData: number[];57 VariableData: number[];57 VariableData: number[];