Skip to content

Commit fe42624

Browse files
bogwarclaude
andcommitted
test(ic-icrc1-ledger): add state machine tests for ICRC-122/152
- Add icrc122_icrc152 module to ic-ledger-suite-state-machine-tests - Tests cover: - test_icrc152_mint_by_controller: mint via controller, verify balance/supply/block btype - test_icrc152_burn_by_controller: burn via controller, verify balance/supply/block btype - test_icrc152_unauthorized: non-controller gets Unauthorized error - test_icrc152_feature_flag_disabled: GenericError(4) when flag is off - test_icrc152_insufficient_balance: burn > balance returns InsufficientBalance - test_icrc152_deduplication: same created_at_time returns Duplicate - test_icrc152_supported_block_types: 122mint/122burn appear in icrc3_supported_block_types - test_icrc152_supported_standards: ICRC-152 appears in icrc1_supported_standards - Wire up test wrappers in rs/ledger_suite/icrc1/ledger/tests/tests.rs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2ee4fcc commit fe42624

File tree

3 files changed

+557
-0
lines changed

3 files changed

+557
-0
lines changed

rs/ledger_suite/icrc1/ledger/tests/tests.rs

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,70 @@ fn test_upgrade_from_mainnet_ledger_version() {
644644
);
645645
}
646646

647+
#[test]
648+
fn test_icrc152_mint_by_controller() {
649+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_mint_by_controller(
650+
ledger_wasm(),
651+
encode_init_args,
652+
);
653+
}
654+
655+
#[test]
656+
fn test_icrc152_burn_by_controller() {
657+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_burn_by_controller(
658+
ledger_wasm(),
659+
encode_init_args,
660+
);
661+
}
662+
663+
#[test]
664+
fn test_icrc152_unauthorized() {
665+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_unauthorized(
666+
ledger_wasm(),
667+
encode_init_args,
668+
);
669+
}
670+
671+
#[test]
672+
fn test_icrc152_feature_flag_disabled() {
673+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_feature_flag_disabled(
674+
ledger_wasm(),
675+
encode_init_args,
676+
);
677+
}
678+
679+
#[test]
680+
fn test_icrc152_insufficient_balance() {
681+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_insufficient_balance(
682+
ledger_wasm(),
683+
encode_init_args,
684+
);
685+
}
686+
687+
#[test]
688+
fn test_icrc152_deduplication() {
689+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_deduplication(
690+
ledger_wasm(),
691+
encode_init_args,
692+
);
693+
}
694+
695+
#[test]
696+
fn test_icrc152_supported_block_types() {
697+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_supported_block_types(
698+
ledger_wasm(),
699+
encode_init_args,
700+
);
701+
}
702+
703+
#[test]
704+
fn test_icrc152_supported_standards() {
705+
ic_ledger_suite_state_machine_tests::icrc122_icrc152::test_icrc152_supported_standards(
706+
ledger_wasm(),
707+
encode_init_args,
708+
);
709+
}
710+
647711
#[test]
648712
fn test_icrc1_test_suite() {
649713
ic_ledger_suite_state_machine_tests::test_icrc1_test_suite(ledger_wasm(), encode_init_args);

0 commit comments

Comments
 (0)