@@ -218,13 +218,15 @@ fn claim_works() {
218
218
assert ! ( PalletBalances :: transfer( Origin :: signed( BOB ) , ALICE , 10 ) . is_err( ) ) ;
219
219
// unlocked after claiming
220
220
assert_ok ! ( Vesting :: claim( Origin :: signed( BOB ) ) ) ;
221
+ assert_eq ! ( VestingSchedules :: <Runtime >:: contains_key( BOB ) , true ) ;
221
222
assert_ok ! ( PalletBalances :: transfer( Origin :: signed( BOB ) , ALICE , 10 ) ) ;
222
223
// more are still locked
223
224
assert ! ( PalletBalances :: transfer( Origin :: signed( BOB ) , ALICE , 1 ) . is_err( ) ) ;
224
225
225
226
MockBlockNumberProvider :: set ( 21 ) ;
226
227
// claim more
227
228
assert_ok ! ( Vesting :: claim( Origin :: signed( BOB ) ) ) ;
229
+ assert_eq ! ( VestingSchedules :: <Runtime >:: contains_key( BOB ) , false ) ;
228
230
assert_ok ! ( PalletBalances :: transfer( Origin :: signed( BOB ) , ALICE , 10 ) ) ;
229
231
// all used up
230
232
assert_eq ! ( PalletBalances :: free_balance( BOB ) , 0 ) ;
@@ -264,6 +266,20 @@ fn update_vesting_schedules_works() {
264
266
MockBlockNumberProvider :: set ( 21 ) ;
265
267
assert_ok ! ( Vesting :: claim( Origin :: signed( BOB ) ) ) ;
266
268
assert_ok ! ( PalletBalances :: transfer( Origin :: signed( BOB ) , ALICE , 10 ) ) ;
269
+
270
+ // empty vesting schedules cleanup the storage and unlock the fund
271
+ assert_eq ! ( VestingSchedules :: <Runtime >:: contains_key( BOB ) , true ) ;
272
+ assert_eq ! (
273
+ PalletBalances :: locks( & BOB ) . get( 0 ) ,
274
+ Some ( & BalanceLock {
275
+ id: VESTING_LOCK_ID ,
276
+ amount: 10u64 ,
277
+ reasons: Reasons :: All ,
278
+ } )
279
+ ) ;
280
+ assert_ok ! ( Vesting :: update_vesting_schedules( Origin :: root( ) , BOB , vec![ ] ) ) ;
281
+ assert_eq ! ( VestingSchedules :: <Runtime >:: contains_key( BOB ) , false ) ;
282
+ assert_eq ! ( PalletBalances :: locks( & BOB ) , vec![ ] ) ;
267
283
} ) ;
268
284
}
269
285
0 commit comments