Files
quorum-test-network/dapps/quorumToken/test/QuorumToken.test.ts
2026-02-09 21:51:48 -08:00

43 lines
1.9 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {
time,
loadFixture,
} from "@nomicfoundation/hardhat-toolbox/network-helpers";
import { expect } from "chai"
import { ethers } from "hardhat"
import { Signer } from "ethers"
describe("QuorumToken", function () {
const initialSupply = ethers.parseEther('10000.0')
// We define a fixture to reuse the same setup in every test.
// ie a fixture is a function that is only ran the first time it is invoked (& a snapshot is made of the hardhat network).
// On all subsequent invocations our fixture wont be invoked, but rather the snapshot state is reset and loaded
async function deployQuorumTokenFixture() {
// Contracts are deployed using the first signer/account by default
const [owner, otherAccount] = await ethers.getSigners();
const QuorumToken = await ethers.getContractFactory("QuorumToken")
const quorumToken = await QuorumToken.deploy(initialSupply);
const address = await quorumToken.getAddress();
return { quorumToken, address, owner, otherAccount };
}
describe("Deployment", function () {
it("Should have the correct initial supply", async function () {
const {quorumToken, address} = await loadFixture(deployQuorumTokenFixture);
expect(await quorumToken.totalSupply()).to.equal(initialSupply);
});
it("Should token transfer with correct balance", async function () {
const {quorumToken, address, owner, otherAccount} = await loadFixture(deployQuorumTokenFixture);
const amount = ethers.parseEther('200.0')
const accountAddress = await otherAccount.getAddress();
await expect(async () => quorumToken.transfer(accountAddress,amount))
.to.changeTokenBalance(quorumToken, otherAccount, amount)
await expect(async () => quorumToken.connect(otherAccount).transfer(await owner.getAddress(),amount))
.to.changeTokenBalance(quorumToken, owner, amount)
});
});
})