hicity-toolkit/packages/pancake-profile-sdk/src/utils/contractHelpers.test.ts

27 lines
1.2 KiB
TypeScript

import Web3 from "web3";
import { MAINNET_CHAIN_ID } from "../constants/common";
import web3NoAccount from "./web3";
import { getProfileContract, getErc721Contract } from "./contractHelpers";
describe("contractHelpers", () => {
it("getProfileContract returns an instance of Contract", () => {
const profileContract = getProfileContract(web3NoAccount, MAINNET_CHAIN_ID);
// toBeInstanceOf doesn't work very well with third-party libs, read more - https://stackoverflow.com/a/58032069/4614082
expect(profileContract.constructor.name).toBe("Contract");
});
it("getErc721Contract returns an instance of Contract", () => {
const erc721Contract = getErc721Contract("0x7777777777777777777777777777777777777777", web3NoAccount);
expect(erc721Contract.constructor.name).toBe("Contract");
});
it("uses provided Web3 instnace", () => {
const httpProvider = new Web3.providers.HttpProvider("https://example.com", {
timeout: 10000,
});
const customWeb3 = new Web3(httpProvider);
const pancakeRabbitContract = getProfileContract(customWeb3, MAINNET_CHAIN_ID);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
expect(pancakeRabbitContract.currentProvider).toBe(httpProvider);
});
});