git.delta.rocks / unique-network / refs/commits / 7e32db5caa8a

difftreelog

source

tests/src/nesting/nest.test.ts2.0 KiBsourcehistory
1import {expect} from 'chai';2import {tokenIdToAddress} from '../eth/util/helpers';3import privateKey from '../substrate/privateKey';4import usingApi from '../substrate/substrate-api';5import {createCollectionExpectSuccess, createItemExpectSuccess, getTokenOwner, getTopmostTokenOwner, setCollectionLimitsExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../util/helpers';67describe.only('nesting', () => {8  it('allows to nest/unnest token', async () => {9    await usingApi(async api => {10      const alice = privateKey('//Alice');11      const bob = privateKey('//Bob');1213      const collection = await createCollectionExpectSuccess({mode: {type: 'NFT'}});14      await setCollectionLimitsExpectSuccess(alice, collection, {nestingRule:{OwnerRestricted:[collection]}});15      const targetToken = await createItemExpectSuccess(alice, collection, 'NFT');1617      const nestedToken = await createItemExpectSuccess(alice, collection, 'NFT');1819      // Nest20      await transferExpectSuccess(collection, nestedToken, alice, {Ethereum: tokenIdToAddress(collection, targetToken)});21  22      expect(await getTopmostTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: alice.address});23      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});2425      // Move bundle to different user26      await transferExpectSuccess(collection, targetToken, alice, {Substrate: bob.address});27  28      expect(await getTopmostTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: bob.address});29      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Ethereum: tokenIdToAddress(collection, targetToken).toLowerCase()});3031      // Unnest32      await transferFromExpectSuccess(collection, nestedToken, bob, {Ethereum: tokenIdToAddress(collection, targetToken)}, {Substrate: bob.address});3334      expect(await getTokenOwner(api, collection, nestedToken)).to.be.deep.equal({Substrate: bob.address});35    });36  });37});