Skip to content

Hardhat test helpers for ApeSwap contract integration. Deploy a mock DEX or FARM to easily use alongside hardhat testing.

License

Notifications You must be signed in to change notification settings

ApeSwapFinance/apeswap-hardhat-test-helpers

Repository files navigation

ApeSwap Hardhat Test Helper

lint & test Docs License

Install this package to get access to deployable ApeSwap Mock Farm and DEX for testing with contracts developed with the Hardhat framework.

Installation

yarn add -D @ape.swap/hardhat-test-helpers

Usage

Refer to the example code below on how to import and use these helpers.

Deploy a Mock DEX

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);
});

Deploy a Mock Farm

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)
})

About

Hardhat test helpers for ApeSwap contract integration. Deploy a mock DEX or FARM to easily use alongside hardhat testing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published