Lesson 9: Why we have different balance during the tests? #3079
-
I can't figure out why this happened. describe("checkUpkeep", async function () {
it("returns false if people haven't sent any ETH", async function () {
await network.provider.send("evm_increaseTime", [interval.toNumber() + 1])
await network.provider.send("evm_mine", [])
// await raffle.checkUpkeep([])
const balance = await raffle.getBalance() // 0
const { upkeepNeeded } = await raffle.callStatic.checkUpkeep([]) // should return false because no balance
assert(!upkeepNeeded)
})
it("returns false if raffle isn't open", async function () {
await raffle.enterRaffle({ value: raffleEntranceFee })
await network.provider.send("evm_increaseTime", [interval.toNumber() + 1])
await network.provider.send("evm_mine", [])
await raffle.performUpkeep("0x") // send a blank bites object "0x";
const balance = await raffle.getBalance() // 10000000000000000
const raffleState = await raffle.getRaffleState()
const { upkeepNeeded } = await raffle.callStatic.checkUpkeep([])
assert.equal(raffleState.toString() == "1", upkeepNeeded == false)
})
})
About the code below, it("returns false if raffle isn't open", async function () {
await raffle.enterRaffle({ value: raffleEntranceFee })
await network.provider.send("evm_increaseTime", [interval.toNumber() + 1])
await network.provider.send("evm_mine", [])
await raffle.performUpkeep("0x") // send a blank bites object "0x";
const balance = await raffle.getBalance() // 10000000000000000
const raffleState = await raffle.getRaffleState()
const { upkeepNeeded } = await raffle.callStatic.checkUpkeep([])
assert.equal(raffleState.toString() == "1", upkeepNeeded == false)
}) |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Something I may figure out: |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
@zjy-1998
[]
&0x
both are ways to pass an empty array.returns false if raffle isn't open
whether the raffle is open or not. so after calling performUpkeep we are getting the raffle state and checking hereassert.equal(raffleState.toString() == "1", upkeepNeeded == false)