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

difftreelog

source

tests/src/collision-tests/tokenLimitsOff.test.ts2.9 KiBsourcehistory
1/* obsolete2import { IKeyringPair } from '@polkadot/types/types';3import BN from 'bn.js';4import chai from 'chai';5import chaiAsPromised from 'chai-as-promised';6import privateKey from '../substrate/privateKey';7import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';8import {9  addToWhiteListExpectSuccess,10  createCollectionExpectSuccess,11  getCreateItemResult,12  setMintPermissionExpectSuccess,13  normalizeAccountId,14  waitNewBlocks,15} from '../util/helpers';1617chai.use(chaiAsPromised);18const expect = chai.expect;19let Alice: IKeyringPair;20let Bob: IKeyringPair;21let Ferdie: IKeyringPair;2223const accountTokenOwnershipLimit = 4;24const sponsoredMintSize = 4294967295;25const tokenLimit = 4;26const sponsorTimeout = 14400;27const ownerCanTransfer = false;28const ownerCanDestroy = false;2930before(async () => {31  await usingApi(async () => {32    Alice = privateKey('//Alice');33    Bob = privateKey('//Bob');34    Ferdie = privateKey('//Ferdie');35  });36});3738describe('Token limit exceeded collection: ', () => {39  // tslint:disable-next-line: max-line-length40  it('The number of tokens created in the collection from different addresses exceeds the allowed collection limit ', async () => {41    await usingApi(async (api) => {42      const collectionId = await createCollectionExpectSuccess();43      await setMintPermissionExpectSuccess(Alice, collectionId, true);44      await addToWhiteListExpectSuccess(Alice, collectionId, Ferdie.address);45      await addToWhiteListExpectSuccess(Alice, collectionId, Bob.address);46      const setCollectionLim = api.tx.nft.setCollectionLimits(47        collectionId,48        {49          accountTokenOwnershipLimit,50          sponsoredMintSize,51          tokenLimit,52          // tslint:disable-next-line: object-literal-sort-keys53          sponsorTimeout,54          ownerCanTransfer,55          ownerCanDestroy,56        },57      );58      const subTx = await submitTransactionAsync(Alice, setCollectionLim);59      const subTxTesult = getCreateItemResult(subTx);60      // tslint:disable-next-line:no-unused-expression61      expect(subTxTesult.success).to.be.true;62      await waitNewBlocks(2);6364      const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];65      const mintItemOne = api.tx.nft66        .createMultipleItems(collectionId, normalizeAccountId(Ferdie.address), args);67      const mintItemTwo = api.tx.nft68        .createMultipleItems(collectionId, normalizeAccountId(Bob.address), args);69      await Promise.all([70        mintItemOne.signAndSend(Ferdie),71        mintItemTwo.signAndSend(Bob),72      ]);73      await waitNewBlocks(2);74      const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId) as unknown as BN;75      expect(itemsListIndexAfter.toNumber()).to.be.equal(3);76      // TokenLimit = 4. The first transaction is successful. The second should fail.77      await waitNewBlocks(2);78    });79  });80});81*/