From 231aa66d60487546514cfdd597fb0dae74d8c1f6 Mon Sep 17 00:00:00 2001 From: Max Andreev Date: Fri, 02 Dec 2022 11:04:02 +0000 Subject: [PATCH] Add more transferCross tests --- --- a/tests/src/eth/fungible.test.ts +++ b/tests/src/eth/fungible.test.ts @@ -276,6 +276,21 @@ expect(balance).to.equal(50n); } }); + + itEth('Cannot transferCross() more than have', async ({helper}) => { + const sender = await helper.eth.createAccountWithBalance(donor); + const receiverEth = await helper.eth.createAccountWithBalance(donor); + const receiverCrossEth = helper.ethCrossAccount.fromAddress(receiverEth); + const BALANCE = 200n; + const BALANCE_TO_TRANSFER = BALANCE + 100n; + + const collection = await helper.ft.mintCollection(alice); + await collection.mint(alice, BALANCE, {Ethereum: sender}); + const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'ft', sender); + + await expect(collectionEvm.methods.transferCross(receiverCrossEth, BALANCE_TO_TRANSFER).send({from: sender})).to.be.rejected; + }); itEth('Can perform transfer()', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); --- a/tests/src/eth/reFungible.test.ts +++ b/tests/src/eth/reFungible.test.ts @@ -415,15 +415,19 @@ itEth('Cannot transferCross with invalid params', async ({helper}) => { const sender = await helper.eth.createAccountWithBalance(donor); + const tokenOwner = await helper.eth.createAccountWithBalance(donor); const receiverCrossSub = helper.ethCrossAccount.fromKeyringPair(minter); const collection = await helper.rft.mintCollection(minter, {}); const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId); const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'rft', sender); - const {tokenId} = await collection.mintToken(minter, 50n, {Ethereum: sender}); - // FIXME (transaction successful): Cannot transfer token if it does not exist: - await expect(collectionEvm.methods.transferCross(receiverCrossSub, tokenId + 1).send({from: sender})).to.be.rejected; + await collection.mintToken(minter, 50n, {Ethereum: sender}); + const notSendersToken = await collection.mintToken(minter, 50n, {Ethereum: tokenOwner}); + // Cannot transferCross someone else's token: + await expect(collectionEvm.methods.transferCross(receiverCrossSub, notSendersToken.tokenId).send({from: sender})).to.be.rejected; + // FIXME: (transaction successful): Cannot transfer token if it does not exist: + await expect(collectionEvm.methods.transferCross(receiverCrossSub, 999999).send({from: sender})).to.be.rejected; }); itEth('transfer event on transfer from partial ownership to full ownership', async ({helper}) => { -- gitstuff