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.tsdiffbeforeafterboth406 itEth('Can perform transferCross()', async ({helper}) => {406 itEth('Can perform transferCross()', async ({helper}) => {407 const collection = await helper.nft.mintCollection(minter, {});407 const collection = await helper.nft.mintCollection(minter, {});408 const owner = await helper.eth.createAccountWithBalance(donor);408 const owner = await helper.eth.createAccountWithBalance(donor);409 const receiver = helper.eth.createAccount();409 const receiver = await helper.eth.createAccountWithBalance(donor);410 const to = helper.ethCrossAccount.fromAddress(receiver);410 const to = helper.ethCrossAccount.fromAddress(receiver);411 const toSubstrate = helper.ethCrossAccount.fromKeyringPair(minter);412 411 const {tokenId} = await collection.mintToken(minter, {Ethereum: owner});413 const {tokenId} = await collection.mintToken(minter, {Ethereum: owner});412414433 expect(+balance).to.equal(1);435 expect(+balance).to.equal(1);434 }436 }437 438 {439 const substrateResult = await contract.methods.transferCross(toSubstrate, tokenId).send({from: receiver});440 441442 const event = substrateResult.events.Transfer;443 expect(event.address).to.be.equal(collectionAddress);444 expect(event.returnValues.from).to.be.equal(receiver);445 expect(event.returnValues.to).to.be.equal(helper.address.substrateToEth(minter.address));446 expect(event.returnValues.tokenId).to.be.equal(`${tokenId}`);447 }448449 {450 const balance = await contract.methods.balanceOf(receiver).call();451 expect(+balance).to.equal(0);452 }453454 {455 const balance = await helper.nft.getTokensByAddress(collection.collectionId, {Substrate: minter.address});456 expect(balance).to.be.contain(tokenId);457 }435 });458 });436});459});437460tests/src/eth/reFungible.test.tsdiffbeforeafterboth--- a/tests/src/eth/reFungible.test.ts
+++ b/tests/src/eth/reFungible.test.ts
@@ -362,13 +362,14 @@
itEth('Can perform transferCross()', async ({helper}) => {
const caller = await helper.eth.createAccountWithBalance(donor);
- const receiver = helper.eth.createAccount();
+ const receiver = await helper.eth.createAccountWithBalance(donor);
const to = helper.ethCrossAccount.fromAddress(receiver);
- const {collectionAddress} = await helper.eth.createRFTCollection(caller, 'Transferry', '6', '6');
+ const toSubstrate = helper.ethCrossAccount.fromKeyringPair(minter);
+ const collection = await helper.rft.mintCollection(minter, {});
+ const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId);
const contract = helper.ethNativeContract.collection(collectionAddress, 'rft', caller);
- const result = await contract.methods.mint(caller).send();
- const tokenId = result.events.Transfer.returnValues.tokenId;
+ const {tokenId} = await collection.mintToken(minter, 1n, {Ethereum: caller});
{
const result = await contract.methods.transferCross(to, tokenId).send({from: caller});
@@ -389,6 +390,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);
+ }
});
itEth('transfer event on transfer from partial ownership to full ownership', async ({helper}) => {