| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | const { expect } = require("chai")const { ethers } = require("hardhat")const { getAddr, deployNew, callAsContract } = require("./util/helpers")const { ZERO_ADDRESS } = require("./util/constants")describe("Factory:", function () {    let owner, alice, poolId, chainId, sharedDecimals, localDecimals, router, factory, mockToken, fakeContract    before(async function () {        ;({ owner, alice, fakeContract } = await getAddr(ethers))        poolId = 1        chainId = 1        sharedDecimals = 18        localDecimals = sharedDecimals    })    beforeEach(async function () {        router = await deployNew("Router")        factory = await deployNew("Factory", [router.address])        mockToken = await deployNew("MockToken", ["Token", "TKN", 18])    })    it("constructor() - reverts when router is 0x0", async function () {        await expect(deployNew("Factory", [ZERO_ADDRESS])).to.revertedWith("Stargate: _router cant be 0x0")    })    it("setDefaultFeelLibrary() - reverts when router is 0x0", async function () {        await expect(factory.setDefaultFeeLibrary(ZERO_ADDRESS)).to.revertedWith("Stargate: fee library cant be 0x0")    })    it("allPoolsLength()", async function () {        expect(await factory.allPoolsLength()).to.equal(0)    })    it("createPool() - reverts if creatPair() is called for existing _poolId", async function () {        await callAsContract(factory, router.address, "createPool(uint256,address,uint8,uint8,string,string)", [            poolId,            mockToken.address,            sharedDecimals,            localDecimals,            "USDC Pool",            "S*USDC",        ])        await expect(            callAsContract(factory, router.address, "createPool(uint256,address,uint8,uint8,string,string)", [                poolId,                mockToken.address,                sharedDecimals,                localDecimals,                "USDC Pool",                "S*USDC",            ])        ).to.be.revertedWith("Stargate: Pool already created")    })    it("createPool() - increments allPoolsLength()", async function () {        for (let _poolId = 1; _poolId < 10; ++_poolId) {            await callAsContract(factory, router.address, "createPool(uint256,address,uint8,uint8,string,string)", [                _poolId,                mockToken.address,                sharedDecimals,                localDecimals,                "USDC Pool",                "S*USDC",            ])            expect(await factory.allPoolsLength()).to.equal(_poolId)        }    })    it("createPool() - reverts when called by non router", async function () {        await expect(factory.createPool(poolId, mockToken.address, sharedDecimals, localDecimals, "USDC Pool", "S*USDC")).to.be.revertedWith(            "Stargate: caller must be Router."        )    })    it("renounceOwnership() doesnt affect ownership", async function () {        expect(await factory.owner()).to.equal(owner.address)        await factory.renounceOwnership()        expect(await factory.owner()).to.equal(owner.address)    })})
 |