add test for check staked cec when deposit
This commit is contained in:
parent
1684abb0ab
commit
7dd08188ba
@ -19,6 +19,13 @@ describe("Vester", function () {
|
||||
|
||||
await cec.setMinter(owner.address, true);
|
||||
await esCec.setMinter(owner.address, true);
|
||||
const RewardDistributor = await hre.ethers.getContractFactory("RewardDistributor");
|
||||
|
||||
const RewardTracker = await hre.ethers.getContractFactory("RewardTracker");
|
||||
const stakedCecTracker = await RewardTracker.deploy("Staked CEC", "sCEC");
|
||||
const stakedCecDistributor = await RewardDistributor.deploy(esCec.target, stakedCecTracker.target);
|
||||
await stakedCecTracker.initialize([cec.target, esCec.target], stakedCecDistributor.target);
|
||||
await stakedCecDistributor.updateLastDistributionTime();
|
||||
|
||||
const Vester = await hre.ethers.getContractFactory("Vester");
|
||||
const vester = await Vester.deploy(
|
||||
@ -28,26 +35,26 @@ describe("Vester", function () {
|
||||
esCec.target,
|
||||
ZeroAddress,
|
||||
cec.target,
|
||||
ZeroAddress,
|
||||
false
|
||||
stakedCecTracker.target,
|
||||
true
|
||||
);
|
||||
await cec.mint(owner.address, expandDecimals(100000, 18));
|
||||
await esCec.mint(owner.address, expandDecimals(100000, 18));
|
||||
|
||||
return {owner, otherAccount, chainId, cec, esCec, vester};
|
||||
return {owner, otherAccount, chainId, cec, esCec, vester, stakedCecTracker};
|
||||
}
|
||||
describe("Deployment", function () {
|
||||
it("should deploy Vester", async function () {
|
||||
const {cec, esCec, vester} = await loadFixture(deployOneContract);
|
||||
const {cec, esCec, vester, stakedCecTracker} = await loadFixture(deployOneContract);
|
||||
expect(await vester.name()).eq("Vested CEC");
|
||||
expect(await vester.symbol()).eq("veCEC");
|
||||
expect(await vester.vestingDuration()).eq(secondsPerYear);
|
||||
expect(await vester.esToken()).eq(esCec.target);
|
||||
expect(await vester.pairToken()).eq(ZeroAddress);
|
||||
expect(await vester.claimableToken()).eq(cec.target);
|
||||
expect(await vester.rewardTracker()).eq(ZeroAddress);
|
||||
expect(await vester.rewardTracker()).eq(stakedCecTracker.target);
|
||||
expect(await vester.hasPairToken()).eq(false);
|
||||
expect(await vester.hasRewardTracker()).eq(false);
|
||||
expect(await vester.hasRewardTracker()).eq(true);
|
||||
});
|
||||
|
||||
it("setCumulativeRewardDeductions", async () => {
|
||||
@ -74,7 +81,7 @@ describe("Vester", function () {
|
||||
});
|
||||
|
||||
it("deposit, claim, withdraw", async () => {
|
||||
const {owner, otherAccount, cec, esCec, vester} = await loadFixture(deployOneContract);
|
||||
const {owner, otherAccount, cec, esCec, vester, stakedCecTracker} = await loadFixture(deployOneContract);
|
||||
const wallet = owner;
|
||||
const user0 = otherAccount;
|
||||
const provider = wallet.provider;
|
||||
@ -103,6 +110,20 @@ describe("Vester", function () {
|
||||
|
||||
await esCec.mint(user0.address, expandDecimals(1000, 18));
|
||||
await vester.setBonusRewards(user0.address, expandDecimals(10_000, 18));
|
||||
|
||||
// @ts-ignore
|
||||
await expect(vester.connect(user0).deposit(expandDecimals(1000, 18))).to.be.revertedWith(
|
||||
"Vester: insufficient cec balance",
|
||||
);
|
||||
|
||||
await stakedCecTracker.setHandler(user0.address, true);
|
||||
await cec.setMinter(wallet.address, true);
|
||||
await cec.mint(user0.address, expandDecimals(1000, 18));
|
||||
// @ts-ignore
|
||||
await cec.connect(user0).approve(stakedCecTracker.target, expandDecimals(1000, 18));
|
||||
// @ts-ignore
|
||||
await stakedCecTracker.connect(user0).stakeForAccount(user0.address, user0.address, cec.target, expandDecimals(1000, 18));
|
||||
|
||||
// @ts-ignore
|
||||
await vester.connect(user0).deposit(expandDecimals(1000, 18));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user