Skip to content

Commit

Permalink
Adding check for Deposited and Withdrawn events.
Browse files Browse the repository at this point in the history
  • Loading branch information
Kellan Wampler committed Jun 10, 2024
1 parent c2101af commit bf45089
Showing 1 changed file with 22 additions and 6 deletions.
28 changes: 22 additions & 6 deletions web3/test/StakingTokens.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ describe("StakingTokens contract", function () {
const initialERC20Balance = await token.balanceOf(user1.address);
const depositTokenCount = await staking.balanceOf(user1.address);

await staking.connect(user1)["deposit(address,uint256,uint256)"](tokenAddress, depositAmount, 0);
await expect(
staking.connect(user1)["deposit(address,uint256,uint256)"](tokenAddress, depositAmount, 0)
).to.emit(staking, "Deposited").withArgs(tokenAddress, user1.address, user1.address, 0, depositAmount);

const depositTokenID = await staking.tokenOfOwnerByIndex(user1.address, depositTokenCount)
const lastDeposit = await staking.getDeposit(depositTokenID);

Expand All @@ -57,7 +60,9 @@ describe("StakingTokens contract", function () {
expect(metadata.attributes[2].value).to.equal(timestamp);
expect(metadata.attributes[3].value).to.equal(timestamp);

await staking.connect(user1)["withdraw(uint256)"](depositTokenID);
await expect(
staking.connect(user1)["withdraw(uint256)"](depositTokenID)
).to.emit(staking, "Withdrawn").withArgs(depositTokenID, user1.address, user1.address);

expect(await staking.balanceOf(user1.address)).to.equal(depositTokenCount);
expect(await token.balanceOf(user1.address)).to.equal(initialERC20Balance);
Expand All @@ -69,7 +74,10 @@ describe("StakingTokens contract", function () {
const initialERC20Balance = await token.balanceOf(user1.address);
const depositTokenCount = await staking.balanceOf(user1.address);

await staking.connect(user1)["deposit(address,uint256,uint256)"](tokenAddress, depositAmount, lockingPeriod);
await expect(
staking.connect(user1)["deposit(address,uint256,uint256)"](tokenAddress, depositAmount, lockingPeriod)
).to.emit(staking, "Deposited").withArgs(tokenAddress, user1.address, user1.address, lockingPeriod, depositAmount);

const depositTokenID = await staking.tokenOfOwnerByIndex(user1.address, depositTokenCount)
const lastDeposit = await staking.getDeposit(depositTokenID);

Expand Down Expand Up @@ -101,7 +109,10 @@ describe("StakingTokens contract", function () {
expect(await token.balanceOf(user1.address)).to.equal(initialERC20Balance - depositAmount);

await ethers.provider.send("evm_increaseTime", [lockingPeriod + 1]);
await staking.connect(user1)["withdraw(uint256)"](depositTokenID);

await expect(
staking.connect(user1)["withdraw(uint256)"](depositTokenID)
).to.emit(staking, "Withdrawn").withArgs(depositTokenID, user1.address, user1.address);

expect(await staking.balanceOf(user1.address)).to.equal(depositTokenCount);
expect(await token.balanceOf(user1.address)).to.equal(initialERC20Balance);
Expand All @@ -112,7 +123,10 @@ describe("StakingTokens contract", function () {
const initialERC20Balance = await token.balanceOf(user1.address);
const depositTokenCount = await staking.balanceOf(user2.address);

await staking.connect(user1)["deposit(address,uint256,uint256,address)"](tokenAddress, depositAmount, 0, user2.address);
await expect(
staking.connect(user1)["deposit(address,uint256,uint256,address)"](tokenAddress, depositAmount, 0, user2.address)
).to.emit(staking, "Deposited").withArgs(tokenAddress, user2.address, user1.address, 0, depositAmount);

const depositTokenID = await staking.tokenOfOwnerByIndex(user2.address, depositTokenCount)
const lastDeposit = await staking.getDeposit(depositTokenID);

Expand All @@ -133,7 +147,9 @@ describe("StakingTokens contract", function () {
expect(metadata.attributes[2].value).to.equal(timestamp);
expect(metadata.attributes[3].value).to.equal(timestamp);

await staking.connect(user2)["withdraw(uint256,address)"](depositTokenID, user1.address);
await expect(
staking.connect(user2)["withdraw(uint256,address)"](depositTokenID, user1.address)
).to.emit(staking, "Withdrawn").withArgs(depositTokenID, user2.address, user1.address);

expect(await staking.balanceOf(user2.address)).to.equal(depositTokenCount);
expect(await token.balanceOf(user1.address)).to.equal(initialERC20Balance);
Expand Down

0 comments on commit bf45089

Please sign in to comment.