Skip to content

Commit cdfbfbe

Browse files
test
1 parent 16c81b3 commit cdfbfbe

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

test/MaglevEulerSwapFactoryTest.t.sol

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
pragma solidity ^0.8.24;
3+
4+
// import {Test, console} from "forge-std/Test.sol";
5+
// import {TestERC20} from "evk-test/unit/evault/EVaultTestBase.t.sol";
6+
// import {IEVault} from "evk/EVault/IEVault.sol";
7+
import {MaglevTestBase} from "./MaglevTestBase.t.sol";
8+
import {MaglevEulerSwap as Maglev} from "../src/MaglevEulerSwap.sol";
9+
import {MaglevEulerSwapFactory} from "../src/MaglevEulerSwapFactory.sol";
10+
11+
contract MaglevEulerSwapFactoryTest is MaglevTestBase {
12+
MaglevEulerSwapFactory public eulerSwapFactory;
13+
14+
uint256 minFee = 0.0000000000001e18;
15+
16+
function setUp() public virtual override {
17+
super.setUp();
18+
19+
vm.prank(creator);
20+
eulerSwapFactory = new MaglevEulerSwapFactory(address(evc));
21+
}
22+
23+
function testDeployPool() public {
24+
uint256 allPoolsLengthBefore = eulerSwapFactory.allPoolsLength();
25+
26+
vm.prank(creator);
27+
Maglev maglev = Maglev(
28+
eulerSwapFactory.deployPool(
29+
address(eTST), address(eTST2), holder, 50e18, 50e18, 0, 1e18, 1e18, 0.4e18, 0.85e18
30+
)
31+
);
32+
33+
uint256 allPoolsLengthAfter = eulerSwapFactory.allPoolsLength();
34+
35+
assertEq(allPoolsLengthAfter - allPoolsLengthBefore, 1);
36+
assertEq(eulerSwapFactory.getPool(maglev.asset0(), maglev.asset1(), maglev.feeMultiplier()), address(maglev));
37+
assertEq(eulerSwapFactory.getPool(maglev.asset1(), maglev.asset0(), maglev.feeMultiplier()), address(maglev));
38+
39+
address[] memory poolsList = eulerSwapFactory.getAllPoolsListSlice(0, type(uint256).max);
40+
assertEq(poolsList.length, 1);
41+
assertEq(poolsList[0], address(maglev));
42+
assertEq(eulerSwapFactory.allPools(0), address(maglev));
43+
}
44+
45+
function testDeployPoolWhenAldreadyRegistered() public {
46+
vm.prank(creator);
47+
eulerSwapFactory.deployPool(address(eTST), address(eTST2), holder, 50e18, 50e18, 0, 1e18, 1e18, 0.4e18, 0.85e18);
48+
49+
vm.prank(creator);
50+
vm.expectRevert(MaglevEulerSwapFactory.PoolAlreadyDeployed.selector);
51+
eulerSwapFactory.deployPool(address(eTST), address(eTST2), holder, 50e18, 50e18, 0, 1e18, 1e18, 0.4e18, 0.85e18);
52+
}
53+
54+
function testInvalidGetAllPoolsListSliceQuery() public {
55+
vm.expectRevert(MaglevEulerSwapFactory.InvalidQuery.selector);
56+
eulerSwapFactory.getAllPoolsListSlice(1, 0);
57+
}
58+
}

0 commit comments

Comments
 (0)