difftreelog
added substrate interraction in tests `transferCross`
in: master
3 files changed
tests/src/eth/fungible.test.tsdiffbeforeafterboth--- a/tests/src/eth/fungible.test.ts
+++ b/tests/src/eth/fungible.test.ts
@@ -234,6 +234,7 @@
const owner = await helper.eth.createAccountWithBalance(donor);
const receiver = await helper.eth.createAccountWithBalance(donor);
const to = helper.ethCrossAccount.fromAddress(receiver);
+ const toSubstrate = helper.ethCrossAccount.fromKeyringPair(donor);
const collection = await helper.ft.mintCollection(alice);
await collection.mint(alice, 200n, {Ethereum: owner});
@@ -259,6 +260,27 @@
const balance = await contract.methods.balanceOf(receiver).call();
expect(+balance).to.equal(50);
}
+
+ {
+ const result = await contract.methods.transferCross(toSubstrate, 50).send({from: owner});
+
+ const event = result.events.Transfer;
+ expect(event.address).to.be.equal(collectionAddress);
+ expect(event.returnValues.from).to.be.equal(owner);
+ expect(event.returnValues.to).to.be.equal(helper.address.substrateToEth(donor.address));
+ expect(event.returnValues.value).to.be.equal('50');
+ }
+
+ {
+ const balance = await collection.getBalance({Ethereum: owner});
+ expect(balance).to.equal(100n);
+ }
+
+ {
+ const balance = await collection.getBalance({Substrate: donor.address});
+ expect(balance).to.equal(50n);
+ }
+
});
itEth('Can perform transfer()', async ({helper}) => {
tests/src/eth/nonFungible.test.tsdiffbeforeafterboth--- a/tests/src/eth/nonFungible.test.ts
+++ b/tests/src/eth/nonFungible.test.ts
@@ -406,8 +406,10 @@
itEth('Can perform transferCross()', async ({helper}) => {
const collection = await helper.nft.mintCollection(minter, {});
const owner = await helper.eth.createAccountWithBalance(donor);
- const receiver = helper.eth.createAccount();
+ const receiver = await helper.eth.createAccountWithBalance(donor);
const to = helper.ethCrossAccount.fromAddress(receiver);
+ const toSubstrate = helper.ethCrossAccount.fromKeyringPair(minter);
+
const {tokenId} = await collection.mintToken(minter, {Ethereum: owner});
const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId);
@@ -432,6 +434,27 @@
const balance = await contract.methods.balanceOf(receiver).call();
expect(+balance).to.equal(1);
}
+
+ {
+ const substrateResult = await contract.methods.transferCross(toSubstrate, tokenId).send({from: receiver});
+
+
+ const event = substrateResult.events.Transfer;
+ expect(event.address).to.be.equal(collectionAddress);
+ expect(event.returnValues.from).to.be.equal(receiver);
+ expect(event.returnValues.to).to.be.equal(helper.address.substrateToEth(minter.address));
+ expect(event.returnValues.tokenId).to.be.equal(`${tokenId}`);
+ }
+
+ {
+ const balance = await contract.methods.balanceOf(receiver).call();
+ expect(+balance).to.equal(0);
+ }
+
+ {
+ const balance = await helper.nft.getTokensByAddress(collection.collectionId, {Substrate: minter.address});
+ expect(balance).to.be.contain(tokenId);
+ }
});
});
tests/src/eth/reFungible.test.tsdiffbeforeafterboth362 362 363 itEth('Can perform transferCross()', async ({helper}) => {363 itEth('Can perform transferCross()', async ({helper}) => {364 const caller = await helper.eth.createAccountWithBalance(donor);364 const caller = await helper.eth.createAccountWithBalance(donor);365 const receiver = helper.eth.createAccount();365 const receiver = await helper.eth.createAccountWithBalance(donor);366 const to = helper.ethCrossAccount.fromAddress(receiver);366 const to = helper.ethCrossAccount.fromAddress(receiver);367 const toSubstrate = helper.ethCrossAccount.fromKeyringPair(minter);367 const {collectionAddress} = await helper.eth.createRFTCollection(caller, 'Transferry', '6', '6');368 const collection = await helper.rft.mintCollection(minter, {});369 const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId);368 const contract = helper.ethNativeContract.collection(collectionAddress, 'rft', caller);370 const contract = helper.ethNativeContract.collection(collectionAddress, 'rft', caller);369371370 const result = await contract.methods.mint(caller).send();372 const {tokenId} = await collection.mintToken(minter, 1n, {Ethereum: caller});371 const tokenId = result.events.Transfer.returnValues.tokenId;372373373 {374 {374 const result = await contract.methods.transferCross(to, tokenId).send({from: caller});375 const result = await contract.methods.transferCross(to, tokenId).send({from: caller});390 expect(+balance).to.equal(1);391 expect(+balance).to.equal(1);391 }392 }393 394 {395 const substrateResult = await contract.methods.transferCross(toSubstrate, tokenId).send({from: receiver});396 397398 const event = substrateResult.events.Transfer;399 expect(event.address).to.be.equal(collectionAddress);400 expect(event.returnValues.from).to.be.equal(receiver);401 expect(event.returnValues.to).to.be.equal(helper.address.substrateToEth(minter.address));402 expect(event.returnValues.tokenId).to.be.equal(`${tokenId}`);403 }404405 {406 const balance = await contract.methods.balanceOf(receiver).call();407 expect(+balance).to.equal(0);408 }409410 {411 const balance = await helper.nft.getTokensByAddress(collection.collectionId, {Substrate: minter.address});412 expect(balance).to.be.contain(tokenId);413 }392 });414 });393415394 itEth('transfer event on transfer from partial ownership to full ownership', async ({helper}) => {416 itEth('transfer event on transfer from partial ownership to full ownership', async ({helper}) => {