mod common;
use common::authenticate_and_faucet;
#[tokio::test]
#[ignore = "requires running API server"]
async fn mint_tokens_returns_tx_hashes() {
let (_token, _address, _signer, mint) = authenticate_and_faucet().await;
let minted = mint.minted.expect("minted field should be present");
assert!(
!minted.is_empty(),
"faucet should mint at least one asset for a fresh wallet; failed={:?}",
mint.failed
);
for token in &minted {
assert!(
token.asset_id.is_some(),
"minted entry missing asset_id: {token:?}"
);
assert!(
token.amount.as_deref().is_some_and(|s| !s.is_empty()),
"minted entry missing amount: {token:?}",
);
assert!(
token
.tx_hash
.as_deref()
.is_some_and(|s| s.starts_with("0x") && s.len() == 66),
"minted entry should have a 0x-prefixed tx hash: {token:?}",
);
}
}
#[tokio::test]
#[ignore = "requires running API server"]
async fn fresh_wallet_consumes_rate_limit_slot() {
let (_token, _address, _signer, mint) = authenticate_and_faucet().await;
if let Some(remaining) = mint.remaining_requests_24h {
assert_eq!(
remaining, 0,
"fresh wallet's first mint should consume the single 24h slot (1/24h limit on develop), got {remaining}"
);
}
}