difftreelog
enableDisableTransfer migrated
in: master
1 file changed
tests/src/enableDisableTransfer.test.tsdiffbeforeafterboth14// You should have received a copy of the GNU General Public License14// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.161617import chai from 'chai';18import chaiAsPromised from 'chai-as-promised';17import {IKeyringPair} from '@polkadot/types/types';19import usingApi from './substrate/substrate-api';20import {18import {itSub, usingPlaygrounds, expect} from './util/playgrounds';21 createItemExpectSuccess,22 createCollectionExpectSuccess,23 transferExpectSuccess,24 transferExpectFailure,25 setTransferFlagExpectSuccess,26 setTransferFlagExpectFailure,27} from './util/helpers';2829chai.use(chaiAsPromised);301931describe('Enable/Disable Transfers', () => {20describe('Enable/Disable Transfers', () => {21 let alice: IKeyringPair;22 let bob: IKeyringPair;2332 it('User can transfer token with enabled transfer flag', async () => {24 before(async () => {33 await usingApi(async (api, privateKeyWrapper) => {25 await usingPlaygrounds(async (helper, privateKey) => {34 const alice = privateKeyWrapper('//Alice');26 const donor = privateKey('//Alice');35 const bob = privateKeyWrapper('//Bob');36 // nft37 const nftCollectionId = await createCollectionExpectSuccess();38 const newNftTokenId = await createItemExpectSuccess(alice, nftCollectionId, 'NFT');27 [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor);3940 // explicitely set transfer flag41 await setTransferFlagExpectSuccess(alice, nftCollectionId, true);4243 await transferExpectSuccess(nftCollectionId, newNftTokenId, alice, bob, 1);44 });28 });45 });29 });463047 it('User can\'n transfer token with disabled transfer flag', async () => {31 itSub('User can transfer token with enabled transfer flag', async ({helper}) => {48 await usingApi(async (api, privateKeyWrapper) => {32 const collection = await helper.nft.mintCollection(alice, {33 name: 'test',34 description: 'test',35 tokenPrefix: 'test',36 limits: {37 transfersEnabled: true,38 },49 const alice = privateKeyWrapper('//Alice');39 });50 const bob = privateKeyWrapper('//Bob');51 // nft52 const nftCollectionId = await createCollectionExpectSuccess();40 const token = await collection.mintToken(alice, {Substrate: alice.address});53 const newNftTokenId = await createItemExpectSuccess(alice, nftCollectionId, 'NFT');41 await token.transfer(alice, {Substrate: bob.address});5455 // explicitely set transfer flag56 await setTransferFlagExpectSuccess(alice, nftCollectionId, false);42 expect(await token.getOwner()).to.be.deep.equal({Substrate: bob.address});5758 await transferExpectFailure(nftCollectionId, newNftTokenId, alice, bob, 1);59 });60 });43 });4445 itSub('User can\'n transfer token with disabled transfer flag', async ({helper}) => {46 const collection = await helper.nft.mintCollection(alice, {47 name: 'test',48 description: 'test',49 tokenPrefix: 'test',50 limits: {51 transfersEnabled: false,52 },53 });54 const token = await collection.mintToken(alice, {Substrate: alice.address});55 await expect(token.transfer(alice, {Substrate: bob.address})).to.be.rejectedWith(/common\.TransferNotAllowed/);56 });61});57});625863describe('Negative Enable/Disable Transfers', () => {59describe('Negative Enable/Disable Transfers', () => {60 let alice: IKeyringPair;61 let bob: IKeyringPair;6264 it('Non-owner cannot change transfer flag', async () => {63 before(async () => {65 await usingApi(async (api, privateKeyWrapper) => {64 await usingPlaygrounds(async (helper, privateKey) => {66 const bob = privateKeyWrapper('//Bob');65 const donor = privateKey('//Alice');67 // nft68 const nftCollectionId = await createCollectionExpectSuccess();66 [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor);6970 // Change transfer flag71 await setTransferFlagExpectFailure(bob, nftCollectionId, false);72 });67 });73 });68 });6970 itSub('Non-owner cannot change transfer flag', async ({helper}) => {71 const collection = await helper.nft.mintCollection(alice, {72 name: 'test',73 description: 'test',74 tokenPrefix: 'test',75 limits: {76 transfersEnabled: true,77 },78 });7980 await expect(collection.setLimits(bob, {transfersEnabled: false})).to.be.rejectedWith(/common\.NoPermission/);81 });74});82});7583