Skip to content

Commit

Permalink
test: improve test cases for get_exchange_by_liquidity
Browse files Browse the repository at this point in the history
  • Loading branch information
willyrgf committed Oct 19, 2022
1 parent bc3955d commit 9d86ed5
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 42 deletions.
43 changes: 25 additions & 18 deletions test_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ exchanges:
factory_address: 0x5757371414417b8c6caad45baef941abc7d3ab32
network_id: polygon
sushi_swap_polygon:
name: susih_swap_polygon
name: sushi_swap_polygon
router_address: 0x1b02da8cb0d097eb8d57a175b88c7d8b47997506
factory_address: 0xc35dadb65012ec5796536bd9864ed8773abc74c4
network_id: polygon
Expand All @@ -54,23 +54,6 @@ exchanges:
factory_address: 0x858e3312ed3a876947ea49d572a7c42de08af7ee
network_id: bsc

# machines:
# farm-all-to-busd-vault:
# name: farm-all-to-busd-vault
# operations:
# collect_farms_and_swap:
# swap_to_asset_id: busd
# yield-farms:
# auto-cake:
# yield_farm_id: auto-cake
# posi-farm-bnb-posi:
# yield_farm_id: posi-farm-bnb-posi
# posi-farm-busd-posi:
# yield_farm_id: posi-farm-busd-posi
# withdraw:
# wallet_id: farm-wallet
# withdraw_wallet_id: busd-vault

assets:
qidao:
kind: token
Expand Down Expand Up @@ -210,6 +193,12 @@ assets:
address: 0x570A5D26f7765Ecb712C0924E4De545B89fD43dF
slippage: 2
path_asset: wbnb
polygon:
name: sol
network_id: polygon
address: 0x7dff46370e9ea5f0bad3c4e29711ad50062ea7a4
slippage: 2
path_asset: weth
posi:
kind: token
networks:
Expand Down Expand Up @@ -288,6 +277,24 @@ assets:
address: 0x53e562b9b7e5e94b81f10e96ee70ad06df3d2657
slippage: 1
path_asset: usdt
bal:
kind: token
networks:
polygon:
name: bal
network_id: polygon
address: 0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3
slippage: 3
path_asset: weth
avax:
kind: token
networks:
polygon:
name: avax
network_id: polygon
address: 0x2c89bbc92bd86f8075d1decc58c7f4e0107f286b
slippage: 2
path_asset: weth

rebalancers:
test-rebalancer:
Expand Down
71 changes: 47 additions & 24 deletions tests/network.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,38 +6,61 @@ use web3::types::U256;

#[tokio::test]
async fn test_get_exchange_by_liquidity() {
let app = App::new();
struct TestCase {
network_name: &'static str,
input_asset_name: &'static str,
output_asset_name: &'static str,
exchange_expected: &'static str,
}

let app = App::new();
let config = app.config();

let busd_config = config.assets.get("busd").unwrap();
let busd_bsc_assets: Vec<Asset> = busd_config
.new_assets_list()
.unwrap()
.into_iter()
.filter(|a| a.network_id() == "bsc")
.collect();
let test_cases = vec![
TestCase {
network_name: "polygon",
input_asset_name: "usdc",
output_asset_name: "bal",
exchange_expected: "sushi_swap_polygon",
},
TestCase {
network_name: "polygon",
input_asset_name: "usdc",
output_asset_name: "sol",
exchange_expected: "quickswap_v2",
},
];

for test_case in test_cases {
let network = config.networks.get(test_case.network_name).unwrap();

let busd_bsc = busd_bsc_assets.last().unwrap();
let input_asset_config = config.assets.get(test_case.input_asset_name).unwrap();
let input_asset_assets: Vec<Asset> = input_asset_config
.new_assets_list()
.unwrap()
.into_iter()
.filter(|a| a.network_id() == test_case.network_name)
.collect();

let wbnb_config = config.assets.get("wbnb").unwrap();
let wbnb_bsc_assets: Vec<Asset> = wbnb_config
.new_assets_list()
.unwrap()
.into_iter()
.filter(|a| a.network_id() == "bsc")
.collect();
let input_asset = input_asset_assets.last().unwrap();

let wbnb_bsc = wbnb_bsc_assets.last().unwrap();
let output_asset_config = config.assets.get(test_case.output_asset_name).unwrap();
let output_asset_assets: Vec<Asset> = output_asset_config
.new_assets_list()
.unwrap()
.into_iter()
.filter(|a| a.network_id() == test_case.network_name)
.collect();

let bsc_network = config.networks.get("bsc").unwrap();
let output_asset = output_asset_assets.last().unwrap();

let amount_in = U256::exp10(18);
let amount_in = U256::exp10(18);

let exchange = bsc_network
.get_exchange_by_liquidity(wbnb_bsc, busd_bsc, amount_in)
.await
.unwrap();
let exchange = network
.get_exchange_by_liquidity(input_asset, output_asset, amount_in)
.await
.unwrap();

assert_eq!(exchange.name(), "biswap");
assert_eq!(exchange.name(), test_case.exchange_expected);
}
}

0 comments on commit 9d86ed5

Please sign in to comment.