@@ -29,10 +29,10 @@ use crate::*;
2929use crate :: { Call , ColdkeySwapScheduleDuration , Error } ;
3030
3131#[ test]
32- fn test_announce_coldkey_swap_works ( ) {
32+ fn test_announce_coldkey_swap_with_no_announcement_works ( ) {
3333 new_test_ext ( 1 ) . execute_with ( || {
3434 let who = U256 :: from ( 1 ) ;
35- let new_coldkey = U256 :: from ( 1 ) ;
35+ let new_coldkey = U256 :: from ( 2 ) ;
3636
3737 assert_eq ! ( ColdkeySwapAnnouncements :: <Test >:: iter( ) . count( ) , 0 ) ;
3838
@@ -58,65 +58,86 @@ fn test_announce_coldkey_swap_works() {
5858}
5959
6060#[ test]
61- fn test_announce_coldkey_swap_bad_origin_fails ( ) {
61+ fn test_announce_coldkey_swap_with_existing_announcement_past_delay_works ( ) {
6262 new_test_ext ( 1 ) . execute_with ( || {
63- let new_coldkey = U256 :: from ( 1 ) ;
63+ let who = U256 :: from ( 1 ) ;
64+ let new_coldkey = U256 :: from ( 2 ) ;
65+ let new_coldkey_2 = U256 :: from ( 3 ) ;
6466
65- assert_noop ! (
66- SubtensorModule :: announce_coldkey_swap( RuntimeOrigin :: none( ) , new_coldkey) ,
67- BadOrigin
67+ assert_eq ! ( ColdkeySwapAnnouncements :: <Test >:: iter( ) . count( ) , 0 ) ;
68+
69+ assert_ok ! ( SubtensorModule :: announce_coldkey_swap(
70+ RuntimeOrigin :: signed( who. clone( ) ) ,
71+ new_coldkey,
72+ ) ) ;
73+
74+ let now = System :: block_number ( ) ;
75+ assert_eq ! (
76+ ColdkeySwapAnnouncements :: <Test >:: iter( ) . collect:: <Vec <_>>( ) ,
77+ vec![ ( who. clone( ) , ( now, new_coldkey) ) ]
6878 ) ;
6979
70- assert_noop ! (
71- SubtensorModule :: announce_coldkey_swap( RuntimeOrigin :: root( ) , new_coldkey) ,
72- BadOrigin
80+ let delay = ColdkeySwapScheduleDuration :: < Test > :: get ( ) + 1 ;
81+ System :: run_to_block :: < AllPalletsWithSystem > ( now + delay) ;
82+
83+ assert_ok ! ( SubtensorModule :: announce_coldkey_swap(
84+ RuntimeOrigin :: signed( who. clone( ) ) ,
85+ new_coldkey_2,
86+ ) ) ;
87+
88+ let now = System :: block_number ( ) ;
89+ assert_eq ! (
90+ ColdkeySwapAnnouncements :: <Test >:: iter( ) . collect:: <Vec <_>>( ) ,
91+ vec![ ( who. clone( ) , ( now, new_coldkey_2) ) ]
7392 ) ;
7493 } ) ;
7594}
7695
7796#[ test]
78- fn test_remove_coldkey_swap_announcement_works ( ) {
97+ fn test_announce_coldkey_swap_with_existing_announcement_not_past_delay_fails ( ) {
7998 new_test_ext ( 1 ) . execute_with ( || {
8099 let who = U256 :: from ( 1 ) ;
81100 let new_coldkey = U256 :: from ( 2 ) ;
82- let now = System :: block_number ( ) ;
83- ColdkeySwapAnnouncements :: < Test > :: insert ( who. clone ( ) , ( now, new_coldkey) ) ;
101+ let new_coldkey_2 = U256 :: from ( 3 ) ;
102+
103+ assert_eq ! ( ColdkeySwapAnnouncements :: <Test >:: iter( ) . count( ) , 0 ) ;
84104
85- assert_ok ! ( SubtensorModule :: remove_coldkey_swap_announcement (
105+ assert_ok ! ( SubtensorModule :: announce_coldkey_swap (
86106 RuntimeOrigin :: signed( who. clone( ) ) ,
107+ new_coldkey,
87108 ) ) ;
88109
89- assert_eq ! ( ColdkeySwapAnnouncements :: < Test > :: iter ( ) . count ( ) , 0 ) ;
110+ let now = System :: block_number ( ) ;
90111 assert_eq ! (
91- last_event ( ) ,
92- RuntimeEvent :: SubtensorModule ( Event :: ColdkeySwapAnnouncementRemoved { who } )
112+ ColdkeySwapAnnouncements :: < Test > :: iter ( ) . collect :: < Vec <_>> ( ) ,
113+ vec! [ ( who. clone ( ) , ( now , new_coldkey ) ) ]
93114 ) ;
94- } ) ;
95- }
96115
97- #[ test]
98- fn test_remove_coldkey_swap_announcement_fails_if_no_announcement_exists ( ) {
99- new_test_ext ( 1 ) . execute_with ( || {
100- let who = U256 :: from ( 1 ) ;
101- let new_coldkey = U256 :: from ( 2 ) ;
116+ let unmet_delay = ColdkeySwapScheduleDuration :: < Test > :: get ( ) ;
117+ System :: run_to_block :: < AllPalletsWithSystem > ( now + unmet_delay) ;
102118
103119 assert_noop ! (
104- SubtensorModule :: remove_coldkey_swap_announcement( RuntimeOrigin :: signed( who. clone( ) ) ) ,
105- Error :: <Test >:: ColdkeySwapAnnouncementNotFound
120+ SubtensorModule :: announce_coldkey_swap(
121+ RuntimeOrigin :: signed( who. clone( ) ) ,
122+ new_coldkey_2,
123+ ) ,
124+ Error :: <Test >:: ColdkeySwapReannouncedTooEarly
106125 ) ;
107126 } ) ;
108127}
109128
110129#[ test]
111- fn test_remove_coldkey_swap_announcement_bad_origin_fails ( ) {
130+ fn test_announce_coldkey_swap_with_bad_origin_fails ( ) {
112131 new_test_ext ( 1 ) . execute_with ( || {
132+ let new_coldkey = U256 :: from ( 1 ) ;
133+
113134 assert_noop ! (
114- SubtensorModule :: remove_coldkey_swap_announcement ( RuntimeOrigin :: none( ) ) ,
135+ SubtensorModule :: announce_coldkey_swap ( RuntimeOrigin :: none( ) , new_coldkey ) ,
115136 BadOrigin
116137 ) ;
117138
118139 assert_noop ! (
119- SubtensorModule :: remove_coldkey_swap_announcement ( RuntimeOrigin :: root( ) ) ,
140+ SubtensorModule :: announce_coldkey_swap ( RuntimeOrigin :: root( ) , new_coldkey ) ,
120141 BadOrigin
121142 ) ;
122143 } ) ;
0 commit comments