git.delta.rocks / unique-network / refs/commits / 12cd6cb586e3

difftreelog

source

tests/src/createMultipleItemsEx.test.ts2.1 KiBsourcehistory
1import {expect} from 'chai';2import privateKey from './substrate/privateKey';3import usingApi, {executeTransaction} from './substrate/substrate-api';4import {createCollectionExpectSuccess} from './util/helpers';56describe('createMultipleItemsEx', () => {7  it('can initialize multiple NFT with different owners', async () => {8    const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});9    const alice = privateKey('//Alice');10    const bob = privateKey('//Bob');11    const charlie = privateKey('//Charlie');12    await usingApi(async (api) => {13      const data = [14        {15          owner: {substrate: alice.address},16          constData: '0x0000',17          variableData: '0x1111',18        }, {19          owner: {substrate: bob.address},20          constData: '0x2222',21          variableData: '0x3333',22        }, {23          owner: {substrate: charlie.address},24          constData: '0x4444',25          variableData: '0x5555',26        },27      ];2829      await executeTransaction(api, alice, api.tx.unique.createMultipleItemsEx(collection, {30        NFT: data,31      }));32      const tokens = await api.query.nonfungible.tokenData.entries(collection);33      const json = tokens.map(([, token]) => token.toJSON());34      expect(json).to.be.deep.equal(data);35    });36  });3738  it('fails when trying to set multiple owners when creating multiple refungibles', async () => {39    const collection = await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});40    const alice = privateKey('//Alice');41    const bob = privateKey('//Bob');4243    await usingApi(async (api) => {44      // Polkadot requires map, and yet requires keys to be JSON encoded45      const users = new Map();46      users.set(JSON.stringify({substrate: alice.address}), 1);47      users.set(JSON.stringify({substrate: bob.address}), 1);4849      // TODO: better error message?50      await expect(executeTransaction(api, alice, api.tx.unique.createMultipleItemsEx(collection, {51        RefungibleMultipleItems: [52          {users},53          {users},54        ],55      }))).to.be.rejectedWith(/^refungible\.NotRefungibleDataUsedToMintFungibleCollectionToken$/);56    });57  });58});