1234567891011121314151617import chai from 'chai';18import chaiAsPromised from 'chai-as-promised';19import usingApi from './substrate/substrate-api';20import {21 createItemExpectSuccess,22 createCollectionExpectSuccess,23 transferExpectSuccess,24 transferExpectFailure,25 setTransferFlagExpectSuccess,26 setTransferFlagExpectFailure,27} from './util/helpers';2829chai.use(chaiAsPromised);3031describe('Enable/Disable Transfers', () => {32 it('User can transfer token with enabled transfer flag', async () => {33 await usingApi(async (api, privateKeyWrapper) => {34 const alice = privateKeyWrapper('//Alice');35 const bob = privateKeyWrapper('//Bob');36 37 const nftCollectionId = await createCollectionExpectSuccess();38 const newNftTokenId = await createItemExpectSuccess(alice, nftCollectionId, 'NFT');3940 41 await setTransferFlagExpectSuccess(alice, nftCollectionId, true);4243 await transferExpectSuccess(nftCollectionId, newNftTokenId, alice, bob, 1);44 });45 });4647 it('User can\'n transfer token with disabled transfer flag', async () => {48 await usingApi(async (api, privateKeyWrapper) => {49 const alice = privateKeyWrapper('//Alice');50 const bob = privateKeyWrapper('//Bob');51 52 const nftCollectionId = await createCollectionExpectSuccess();53 const newNftTokenId = await createItemExpectSuccess(alice, nftCollectionId, 'NFT');5455 56 await setTransferFlagExpectSuccess(alice, nftCollectionId, false);5758 await transferExpectFailure(nftCollectionId, newNftTokenId, alice, bob, 1);59 });60 });61});6263describe('Negative Enable/Disable Transfers', () => {64 it('Non-owner cannot change transfer flag', async () => {65 await usingApi(async (api, privateKeyWrapper) => {66 const bob = privateKeyWrapper('//Bob');67 68 const nftCollectionId = await createCollectionExpectSuccess();6970 71 await setTransferFlagExpectFailure(bob, nftCollectionId, false);72 });73 });74});