Install this package to get access to deployable ApeSwap Mock Farm and DEX for testing with contracts developed with the Hardhat framework.
yarn add -D @ape.swap/hardhat-test-helpers
Refer to the example code below on how to import and use these helpers.
import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'
import { dex, farm } from '@ape.swap/hardhat-test-helpers'
async function deployMockDexFixture() {
const [owner, feeTo, alice] = await ethers.getSigners()
const { dexFactory, dexRouter, mockWBNB, mockTokens, dexPairs } =
await dex.deployMockDex(ethers, [owner, feeTo, alice], 5)
return {
accounts: { owner, feeTo, alice },
dexFactory,
dexRouter,
mockWBNB,
mockTokens,
dexPairs,
}
}
it("Should have the dexRouter configured properly", async function () {
const { accounts, dexRouter, dexFactory } = await loadFixture(deployMockDexFixture);
expect(await dexRouter.factory()).to.equal(dexFactory.address);
});
import { loadFixture } from '@nomicfoundation/hardhat-network-helpers'
import { dex, farm } from '@ape.swap/hardhat-test-helpers'
async function deployMockFarmFixture() {
const [owner, feeTo, alice] = await ethers.getSigners()
const { bananaToken, bananaSplitBar, masterApe } =
await farm.deployMockFarm(ethers, [owner, feeTo], {})
return {
accounts: { owner, feeTo, alice },
bananaToken,
bananaSplitBar,
masterApe,
}
}
it('Should set the right owner of masterApe', async function () {
const { accounts, masterApe } = await loadFixture(deployMockFarmFixture)
expect(await masterApe.owner()).to.equal(accounts.owner.address)
})