use mars_utils::{error::ValidationError::InvalidDenom, helpers::validate_native_denom};
#[test]
fn length_below_three() {
let res = validate_native_denom("su");
assert_eq!(
res,
Err(InvalidDenom {
reason: "Invalid denom length".to_string()
}),
)
}
#[test]
fn length_above_128() {
let res =
validate_native_denom("fadjkvnrufbaalkefoi2934095sfonalf89o234u2sadsafsdbvsdrgweqraefsdgagqawfaf104hqflkqehf98348qfhdsfave3r23152wergfaefegqsacasfasfadvcadfsdsADsfaf324523");
assert_eq!(
res,
Err(InvalidDenom {
reason: "Invalid denom length".to_string()
}),
)
}
#[test]
fn first_char_not_alphabetical() {
let res = validate_native_denom("7asdkjnfe7");
assert_eq!(
res,
Err(InvalidDenom {
reason: "First character is not ASCII alphabetic".to_string()
}),
)
}
#[test]
fn invalid_character() {
let res = validate_native_denom("fakjfh&asd!#");
assert_eq!(
res,
Err(InvalidDenom {
reason: "Not all characters are ASCII alphanumeric or one of: / : . _ -"
.to_string()
}),
)
}
#[test]
fn correct_denom() {
let res = validate_native_denom("umars");
assert_eq!(res, Ok(()));
let res = validate_native_denom(
"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",
);
assert_eq!(res, Ok(()));
}