Skip to content

Commit 48e8bf6

Browse files
test
1 parent 630d7b8 commit 48e8bf6

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

test/EulerSwapFactoryTest.t.sol

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
pragma solidity ^0.8.24;
3+
4+
import {EulerSwapTestBase, EulerSwap} from "./EulerSwapTestBase.t.sol";
5+
import {EulerSwapFactory, IEulerSwapFactory} from "../src/EulerSwapFactory.sol";
6+
7+
contract EulerSwapFactoryTest is EulerSwapTestBase {
8+
EulerSwapFactory public eulerSwapFactory;
9+
10+
uint256 minFee = 0.0000000000001e18;
11+
12+
function setUp() public virtual override {
13+
super.setUp();
14+
15+
vm.prank(creator);
16+
eulerSwapFactory = new EulerSwapFactory();
17+
}
18+
19+
function testDeployPool() public {
20+
uint256 allPoolsLengthBefore = eulerSwapFactory.allPoolsLength();
21+
22+
vm.prank(creator);
23+
EulerSwap eulerSwap = EulerSwap(
24+
eulerSwapFactory.deployPool(
25+
IEulerSwapFactory.DeployParams(
26+
address(eTST), address(eTST2), holder, 0, 1e18, 1e18, 0.4e18, 0.85e18, 50e18, 50e18
27+
)
28+
)
29+
);
30+
31+
uint256 allPoolsLengthAfter = eulerSwapFactory.allPoolsLength();
32+
bytes32 poolKey = keccak256(
33+
abi.encode(
34+
eulerSwap.asset0(),
35+
eulerSwap.asset1(),
36+
eulerSwap.feeMultiplier(),
37+
eulerSwap.myAccount(),
38+
eulerSwap.priceX(),
39+
eulerSwap.priceY(),
40+
eulerSwap.concentrationX(),
41+
eulerSwap.concentrationY()
42+
)
43+
);
44+
45+
assertEq(allPoolsLengthAfter - allPoolsLengthBefore, 1);
46+
assertEq(eulerSwapFactory.getPool(poolKey), address(eulerSwap));
47+
assertEq(eulerSwapFactory.getPool(poolKey), address(eulerSwap));
48+
49+
address[] memory poolsList = eulerSwapFactory.getAllPoolsListSlice(0, type(uint256).max);
50+
assertEq(poolsList.length, 1);
51+
assertEq(poolsList[0], address(eulerSwap));
52+
assertEq(eulerSwapFactory.allPools(0), address(eulerSwap));
53+
}
54+
55+
function testInvalidGetAllPoolsListSliceQuery() public {
56+
vm.expectRevert(EulerSwapFactory.InvalidQuery.selector);
57+
eulerSwapFactory.getAllPoolsListSlice(1, 0);
58+
}
59+
60+
function testDeployWithAssetsOutOfOrderOrEqual() public {
61+
vm.prank(creator);
62+
vm.expectRevert(EulerSwap.AssetsOutOfOrderOrEqual.selector);
63+
eulerSwapFactory.deployPool(
64+
IEulerSwapFactory.DeployParams(
65+
address(eTST), address(eTST), holder, 0, 1e18, 1e18, 0.4e18, 0.85e18, 50e18, 50e18
66+
)
67+
);
68+
}
69+
70+
function testDeployWithBadFee() public {
71+
vm.prank(creator);
72+
vm.expectRevert(EulerSwap.BadFee.selector);
73+
eulerSwapFactory.deployPool(
74+
IEulerSwapFactory.DeployParams(
75+
address(eTST), address(eTST2), holder, 1e18, 1e18, 1e18, 0.4e18, 0.85e18, 50e18, 50e18
76+
)
77+
);
78+
}
79+
}

0 commit comments

Comments
 (0)