Skip to content

Commit

Permalink
test: recipients balances checks (#195)
Browse files Browse the repository at this point in the history
Signed-off-by: Mariusz Jasuwienas <[email protected]>
  • Loading branch information
arianejasuwienas committed Jan 28, 2025
1 parent d6cf4dc commit f3ad0d8
Showing 1 changed file with 44 additions and 17 deletions.
61 changes: 44 additions & 17 deletions test/hts.e2e.js
Original file line number Diff line number Diff line change
Expand Up @@ -391,8 +391,9 @@ describe('::e2e', function () {
}); */

it('should perform a transfer using crypto transfer', async function () {
const preTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
const alice = wallets[1012];
const preTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
const preAliceBalance = await ERC20['balanceOf'](alice.address);
const amount = 1_000n;
await waitForTx(
sendAs(HTS, treasury)['cryptoTransfer'](
Expand Down Expand Up @@ -421,20 +422,28 @@ describe('::e2e', function () {

const postTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
expect(postTreasuryBalance).to.be.equal(preTreasuryBalance - amount);

const postAliceBalance = await ERC20['balanceOf'](alice.address);
expect(postAliceBalance).to.be.equal(preAliceBalance + amount);
});

it('should perform a transfer using approved crypto transfer', async function () {
const optsIncreasedGasLimit = { gasLimit: 5_000_000 };
const preTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
const bob = wallets[1013];

const alice = wallets[1012];
const preTreasuryBalanceOfSender = await ERC20['balanceOf'](bob.address);
const preAliceBalance = await ERC20['balanceOf'](alice.address);
const amount = 1_000n;

await waitForTx(
sendAs(HTS, treasury)['approve'](tokenAddress, bob.address, amount, {
gasLimit: 5_000_000,
})
sendAs(HTS, treasury)['approve'](
tokenAddress,
bob.address,
amount,
optsIncreasedGasLimit
)
);
const allowance = await ERC20['allowance'](treasury.address, bob.address);
expect(allowance).to.be.equal(amount);
Expand Down Expand Up @@ -467,30 +476,35 @@ describe('::e2e', function () {

const postTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
expect(postTreasuryBalance).to.be.equal(preTreasuryBalance - amount);

const postAliceBalance = await ERC20['balanceOf'](alice.address);
expect(postAliceBalance).to.be.equal(preAliceBalance + amount);
});

it('should perform a transfer using approved crypto transfer from multiple accounts', async function () {
const optsIncreasedGasLimit = { gasLimit: 5_000_000 };
const bob = wallets[1013];
const alice = wallets[1012];

const amountFromBob = 300n;
const amountFromTreasury = 700n;

await waitForTx(
sendAs(ERC20, treasury)['transfer'](bob.address, amountFromBob, {
gasLimit: 5_000_000,
})
sendAs(ERC20, treasury)['transfer'](
bob.address,
amountFromBob,
optsIncreasedGasLimit
)
);
const preTreasuryBalanceOfSender = await ERC20['balanceOf'](bob.address);
const preBobBalance = await ERC20['balanceOf'](bob.address);
const preAliceBalance = await ERC20['balanceOf'](alice.address);
const preTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
await waitForTx(
sendAs(HTS, treasury)['approve'](
tokenAddress,
bob.address,
amountFromTreasury,
{
gasLimit: 5_000_000,
}
optsIncreasedGasLimit
)
);
const allowance = await ERC20['allowance'](treasury.address, bob.address);
Expand Down Expand Up @@ -525,20 +539,26 @@ describe('::e2e', function () {
)
);
const postTreasuryBalanceOfSender = await ERC20['balanceOf'](bob.address);
expect(postTreasuryBalanceOfSender).to.be.equal(
preTreasuryBalanceOfSender - amountFromBob
);
expect(postTreasuryBalanceOfSender).to.be.equal(preBobBalance - amountFromBob);

const postTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
expect(postTreasuryBalance).to.be.equal(
preTreasuryBalance - amountFromTreasury
);

const postAliceBalance = await ERC20['balanceOf'](alice.address);
expect(postAliceBalance).to.be.equal(
preAliceBalance + amountFromTreasury + amountFromBob
);
});

it('should perform a transfer using crypto transfer to multiple accounts', async function () {
const preTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
const optsIncreasedGasLimit = { gasLimit: 5_000_000 };
const bob = wallets[1013];
const alice = wallets[1012];
const preTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
const preBobBalance = await ERC20['balanceOf'](bob.address);
const preAliceBalance = await ERC20['balanceOf'](alice.address);
const amountToAlice = 500n;
const amountToBob = 100n;
await waitForTx(
Expand Down Expand Up @@ -567,17 +587,24 @@ describe('::e2e', function () {
],
},
],
{ gasLimit: 5_000_000n }
optsIncreasedGasLimit
)
);

const postTreasuryBalance = await ERC20['balanceOf'](ft.treasury.evmAddress);
expect(postTreasuryBalance).to.be.equal(
preTreasuryBalance - amountToAlice - amountToBob
);

const postAliceBalance = await ERC20['balanceOf'](alice.address);
expect(postAliceBalance).to.be.equal(preAliceBalance + amountToAlice);

const postBobBalance = await ERC20['balanceOf'](bob.address);
expect(postBobBalance).to.be.equal(preBobBalance + amountToBob);
});

it('should fail to transfer using crypto transfer not balancing', async function () {
const optsIncreasedGasLimit = { gasLimit: 5_000_000 };
const bob = wallets[1013];
const alice = wallets[1012];
const amountToAlice = 500n;
Expand Down Expand Up @@ -609,7 +636,7 @@ describe('::e2e', function () {
],
},
],
{ gasLimit: 5_000_000n }
optsIncreasedGasLimit
)
);
} catch (e) {
Expand Down

0 comments on commit f3ad0d8

Please sign in to comment.