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

difftreelog

source

tests/src/transferFrom.test.ts3.5 KiBsourcehistory
1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//5import { ApiPromise } from '@polkadot/api';6import BN from 'bn.js';7import chai from 'chai';8import chaiAsPromised from 'chai-as-promised';9import privateKey from './substrate/privateKey';10import { default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync } from './substrate/substrate-api';11import {12  approveExpectSuccess,13  createCollectionExpectSuccess,14  createItemExpectSuccess,15  destroyCollectionExpectSuccess,16  transferFromExpectSuccess,17} from './util/helpers';18import {IKeyringPair} from "@polkadot/types/types";1920chai.use(chaiAsPromised);21const expect = chai.expect;2223describe('Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => {24  it('Execute the extrinsic and check nftItemList - owner of token', async () => {25    await usingApi(async (api: ApiPromise) => {26      const Alice = privateKey('//Alice');27      const Bob = privateKey('//Bob');28      const Charlie = privateKey('//CHARLIE');29      const nftCollectionId = await createCollectionExpectSuccess();30      console.log('nftCollectionId', nftCollectionId);31      const collectionInfo = await api.query.nft.collection(nftCollectionId);32      console.log('collectionInfo', collectionInfo);33      // nft34      const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');35      await approveExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob);3637      await transferFromExpectSuccess(nftCollectionId, newNftTokenId, Alice, Charlie, 1, 'NFT');3839      // fungible40      /*const fungibleCollectionId = await createCollectionExpectSuccess({mode: 'Fungible'});41      const newFungibleTokenId = await createItemExpectSuccess(Alice, fungibleCollectionId, 'Fungible');42      await approveExpectSuccess(fungibleCollectionId, newFungibleTokenId, Alice, Bob);43      // reFungible44      const reFungibleCollectionId = await createCollectionExpectSuccess({mode: 'ReFungible'});45      const newReFungibleTokenId = await createItemExpectSuccess(Alice, reFungibleCollectionId, 'ReFungible');46      await approveExpectSuccess(reFungibleCollectionId, newReFungibleTokenId, Alice, Bob);*/4748      // garbage collection :-D49      await destroyCollectionExpectSuccess(nftCollectionId);50      // await destroyCollectionExpectSuccess(fungibleCollectionId);51      // await destroyCollectionExpectSuccess(reFungibleCollectionId);52    });53  });54});5556describe('Negative Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => {57  it('transferFrom for a collection that does not exist', async () => {58    await usingApi(async (api: ApiPromise) => {5960    });61  });6263  it('transferFrom for a collection that was destroyed', async () => {64    await usingApi(async (api: ApiPromise) => {6566    });67  });6869  it('transferFrom a token that does not exist', async () => {70    await usingApi(async (api: ApiPromise) => {7172    });73  });7475  it('transferFrom a token that was deleted', async () => {76    await usingApi(async (api: ApiPromise) => {7778    });79  });8081  it('transferFrom for not approved address', async () => {82    await usingApi(async (api: ApiPromise) => {8384    });85  });8687  it('transferFrom incorrect token count', async () => {88    await usingApi(async (api: ApiPromise) => {8990    });91  });9293  it('execute transferFrom from account that is not owner of collection', async () => {94    await usingApi(async (api: ApiPromise) => {9596    });97  });98});