use crate::common::{expect_ok_or_api_unavailable, live_client_or_skip};
use rust_okx::api::finance::{CurrencyRequest, FinanceHistoryRequest, StakingDefiOffersRequest};
#[tokio::test]
async fn finance_read_only_endpoints_parse_when_eligible() {
let Some(client) = live_client_or_skip("finance_read_only_endpoints_parse_when_eligible")
else {
return;
};
expect_ok_or_api_unavailable(
client
.finance()
.savings()
.get_public_borrow_info(&CurrencyRequest::default())
.await,
"finance/savings/lending-rate-summary",
);
expect_ok_or_api_unavailable(
client
.finance()
.savings()
.get_public_borrow_history(&FinanceHistoryRequest::new().currency("USDT"))
.await,
"finance/savings/lending-rate-history",
);
expect_ok_or_api_unavailable(
client
.finance()
.staking_defi()
.get_offers(&StakingDefiOffersRequest::new())
.await,
"finance/staking-defi/offers",
);
expect_ok_or_api_unavailable(
client.finance().eth_staking().product_info().await,
"finance/staking-defi/eth/product-info",
);
expect_ok_or_api_unavailable(
client.finance().sol_staking().product_info().await,
"finance/staking-defi/sol/product-info",
);
expect_ok_or_api_unavailable(
client.finance().flexible_loan().borrow_currencies().await,
"finance/flexible-loan/borrow-currencies",
);
}