git.delta.rocks / unique-network / refs/commits / 0e762cdc9a73

difftreelog

tests: setVariableMetaData

Yaroslav Bolyukin2021-01-25parent: #da4a58b.patch.diff
in: master

2 files changed

modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -20,6 +20,7 @@
     "load": "mocha --timeout 9999999 -r ts-node/register ./**/*.load.ts",
     "testAddCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/addCollectionAdmin.test.ts",
     "testSetSchemaVersion": "mocha --timeout 9999999 -r ts-node/register ./**/setSchemaVersion.test.ts",
+    "testSetVariableMetaData": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetaData.test.ts",
     "testSetCollectionLimits": "mocha --timeout 9999999 -r ts-node/register ./**/setCollectionLimits.test.ts",
     "testRemoveCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/removeCollectionAdmin.test.ts",
     "testConnection": "mocha --timeout 9999999 -r ts-node/register ./**/connection.test.ts",
addedtests/src/setVariableMetaData.test.tsdiffbeforeafterboth
after · tests/src/setVariableMetaData.test.ts
1import { IKeyringPair } from '@polkadot/types/types';2import chai from 'chai';3import chaiAsPromised from 'chai-as-promised';4import privateKey from './substrate/privateKey';5import usingApi from './substrate/substrate-api';6import {7  burnItemExpectSuccess,8  createCollectionExpectSuccess,9  createItemExpectSuccess,10  destroyCollectionExpectSuccess,11  setVariableMetaDataExpectFailure,12  setVariableMetaDataExpectSuccess,13} from './util/helpers';1415chai.use(chaiAsPromised);16const expect = chai.expect;1718describe('Integration Test setVariableMetaData', () => {19  const data = [1, 2, 254, 255];2021  let alice: IKeyringPair;22  let collectionId: number;23  let tokenId: number;24  before(async () => {25    await usingApi(async () => {26      alice = privateKey('//Alice');27      collectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });28      tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT');29    });30  });3132  it('execute setVariableMetaData', async () => {33    await setVariableMetaDataExpectSuccess(alice, collectionId, tokenId, data);34  });3536  it('verify data was set', async () => {37    await usingApi(async api => {38      const item: any = await api.query.nft.nftItemList(collectionId, tokenId);3940      expect(Array.from(item.VariableData)).to.deep.equal(Array.from(data));41    });42  });43});4445describe('Negative Integration Test setVariableMetaData', () => {46  let data = [1];4748  let alice: IKeyringPair;49  let bob: IKeyringPair;5051  let validCollectionId: number;52  let validTokenId: number;5354  before(async () => {55    await usingApi(async () => {56      alice = privateKey('//Alice');57      bob = privateKey('//Bob');5859      validCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });60      validTokenId = await createItemExpectSuccess(alice, validCollectionId, 'NFT');61    });62  });6364  it('fails on not existing collection id', async () => {65    // Not sure how to implement it66    const nonExistingCollectionId = 200000;67    await setVariableMetaDataExpectFailure(alice, nonExistingCollectionId, 1, data);68  });69  it('fails on removed collection id', async () => {70    const removedCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });71    const removedCollectionTokenId = await createItemExpectSuccess(alice, removedCollectionId, 'NFT');7273    await destroyCollectionExpectSuccess(removedCollectionId);74    await setVariableMetaDataExpectFailure(alice, removedCollectionId, removedCollectionTokenId, data);75  });76  it('fails on removed token', async () => {77    const removedTokenCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });78    const removedTokenId = await createItemExpectSuccess(alice, removedTokenCollectionId, 'NFT');79    await burnItemExpectSuccess(alice, removedTokenCollectionId, removedTokenId);8081    await setVariableMetaDataExpectFailure(alice, removedTokenCollectionId, removedTokenId, data);82  });83  it('fails on not existing token', async () => {84    const nonExistingTokenId = 200000;8586    await setVariableMetaDataExpectFailure(alice, validCollectionId, nonExistingTokenId, data);87  });88  it('fails on too long data', async () => {89    const tooLongData = new Array(4097).fill(0xff);9091    await setVariableMetaDataExpectFailure(alice, validCollectionId, validTokenId, tooLongData);92  });93  it('fails on fungible token', async () => {94    const fungibleCollectionId = await createCollectionExpectSuccess({ mode: { type: 'Fungible', decimalPoints: 0 } });95    const fungibleTokenId = await createItemExpectSuccess(alice, fungibleCollectionId, 'Fungible');9697    await setVariableMetaDataExpectFailure(alice, fungibleCollectionId, fungibleTokenId, data);98  });99  it('fails on bad sender', async () => {100    await setVariableMetaDataExpectFailure(bob, validCollectionId, validTokenId, data);101  });102});