@@ -819,7 +819,7 @@ mod tests {
819819
820820 use super :: CatalystId ;
821821
822- const CATALYST_ID_TEST_VECTOR : [ & str ; 9 ] = [
822+ const CATALYST_ID_TEST_VECTOR : [ & str ; 13 ] = [
823823 "cardano/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE" ,
824824 "user@cardano/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE" ,
825825 "user:1735689600@cardano/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE" ,
@@ -829,6 +829,11 @@ mod tests {
829829 "id.catalyst://preview.cardano/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE/2/0#encrypt" ,
830830 "id.catalyst://midnight/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE/0/1" ,
831831 "id.catalyst://midnight/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE/2/1#encrypt" ,
832+ // Admin types
833+ "admin.catalyst://preprod.cardano/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE/7/3" ,
834+ "admin.catalyst://preview.cardano/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE/2/0#encrypt" ,
835+ "admin.catalyst://midnight/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE/0/1" ,
836+ "admin.catalyst://midnight/FftxFnOrj2qmTuB2oZG2v0YEWJfKvQ9Gg8AgNAhDsKE/2/1#encrypt" ,
832837 ] ;
833838
834839 #[ test]
@@ -872,6 +877,22 @@ mod tests {
872877 assert_eq ! ( uri_id. as_short_id( ) . inner, short_id. inner) ;
873878 }
874879
880+ #[ test]
881+ fn catalyst_id_type_test ( ) {
882+ for id_string in & CATALYST_ID_TEST_VECTOR [ 0 ..5 ] {
883+ let id = id_string. parse :: < CatalystId > ( ) . unwrap ( ) ;
884+ assert ! ( id. is_id( ) ) ;
885+ }
886+ for id_string in & CATALYST_ID_TEST_VECTOR [ 5 ..9 ] {
887+ let id = id_string. parse :: < CatalystId > ( ) . unwrap ( ) ;
888+ assert ! ( id. is_uri( ) ) ;
889+ }
890+ for id_string in & CATALYST_ID_TEST_VECTOR [ 9 ..13 ] {
891+ let id = id_string. parse :: < CatalystId > ( ) . unwrap ( ) ;
892+ assert ! ( id. is_admin( ) ) ;
893+ }
894+ }
895+
875896 #[ test_case( 0 , 1 , true , false , false ; "base vs user" ) ]
876897 #[ test_case( 0 , 2 , true , false , false ; "base vs user_nonce" ) ]
877898 #[ test_case( 0 , 3 , true , false , false ; "base vs nonce" ) ]
0 commit comments