UNPKG

hardhat

Version:

Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.

37 lines (28 loc) 1.06 kB
import { expect } from "chai"; import { network } from "hardhat"; const { ethers } = await network.connect(); describe("Counter", function () { it("Should emit the Increment event when calling the inc() function", async function () { const counter = await ethers.deployContract("Counter"); await expect(counter.inc()).to.emit(counter, "Increment").withArgs(1n); }); it("The sum of the Increment events should match the current value", async function () { const counter = await ethers.deployContract("Counter"); const deploymentBlockNumber = await ethers.provider.getBlockNumber(); // run a series of increments for (let i = 1; i <= 10; i++) { await counter.incBy(i); } const events = await counter.queryFilter( counter.filters.Increment(), deploymentBlockNumber, "latest", ); // check that the aggregated events match the current value let total = 0n; for (const event of events) { total += event.args.by; } expect(await counter.x()).to.equal(total); }); });