diff --git a/pallets/duniter-wot/src/tests.rs b/pallets/duniter-wot/src/tests.rs index 8ff6dddba8d378b8bdfa0b7adcb9e94e833aa70e..7e1e8e901c8b8ac93e598a618a634f226f1de6c3 100644 --- a/pallets/duniter-wot/src/tests.rs +++ b/pallets/duniter-wot/src/tests.rs @@ -20,7 +20,10 @@ use codec::Encode; use frame_support::instances::Instance1; use frame_support::{assert_noop, assert_ok}; use frame_system::{EventRecord, Phase}; -use pallet_identity::{IdtyName, IdtyStatus, NewOwnerKeyPayload, NEW_OWNER_KEY_PAYLOAD_PREFIX}; +use pallet_identity::{ + IdtyName, IdtyStatus, NewOwnerKeyPayload, RevocationPayload, NEW_OWNER_KEY_PAYLOAD_PREFIX, + REVOCATION_PAYLOAD_PREFIX, +}; use sp_runtime::testing::TestSignature; #[test] @@ -94,7 +97,7 @@ fn test_smith_certs_expirations_should_revoke_smith_membership() { } #[test] -fn test_smith_member_cant_change_idty_address() { +fn test_smith_member_cant_change_its_idty_address() { new_test_ext(5, 3).execute_with(|| { run_to_block(2); @@ -117,6 +120,29 @@ fn test_smith_member_cant_change_idty_address() { }); } +#[test] +fn test_smith_member_cant_revoke_its_idty() { + new_test_ext(5, 3).execute_with(|| { + run_to_block(2); + + let revocation_payload = RevocationPayload { + idty_index: 3u32, + genesis_hash: System::block_hash(0), + }; + + // Identity 3 can't change it's address + assert_noop!( + Identity::revoke_identity( + Origin::signed(3), + 3, + 3, + TestSignature(3, (REVOCATION_PAYLOAD_PREFIX, revocation_payload).encode()) + ), + pallet_identity::Error::<Test>::NotAllowedToRemoveIdty + ); + }); +} + #[test] fn test_revoke_smiths_them_rejoin() { new_test_ext(5, 4).execute_with(|| {