@@ -799,6 +799,49 @@ fn transferring_to_blocked_account_should_not_work() {
799
799
} ) ;
800
800
}
801
801
802
+ #[ test]
803
+ fn transfer_all_works_1 ( ) {
804
+ new_test_ext ( ) . execute_with ( || {
805
+ // setup
806
+ assert_ok ! ( Assets :: force_create( RuntimeOrigin :: root( ) , 0 , 0 , true , 100 ) ) ;
807
+ assert_ok ! ( Assets :: mint( RuntimeOrigin :: signed( 0 ) , 0 , 1 , 200 ) ) ;
808
+ assert_ok ! ( Assets :: mint( RuntimeOrigin :: signed( 0 ) , 0 , 2 , 100 ) ) ;
809
+ // transfer all and allow death
810
+ assert_ok ! ( Assets :: transfer_all( Some ( 1 ) . into( ) , 0 , 2 , false ) ) ;
811
+ assert_eq ! ( Assets :: balance( 0 , & 1 ) , 0 ) ;
812
+ assert_eq ! ( Assets :: balance( 0 , & 2 ) , 300 ) ;
813
+ } ) ;
814
+ }
815
+
816
+ #[ test]
817
+ fn transfer_all_works_2 ( ) {
818
+ new_test_ext ( ) . execute_with ( || {
819
+ // setup
820
+ assert_ok ! ( Assets :: force_create( RuntimeOrigin :: root( ) , 0 , 0 , true , 100 ) ) ;
821
+ assert_ok ! ( Assets :: mint( RuntimeOrigin :: signed( 0 ) , 0 , 1 , 200 ) ) ;
822
+ assert_ok ! ( Assets :: mint( RuntimeOrigin :: signed( 0 ) , 0 , 2 , 100 ) ) ;
823
+ // transfer all and allow death
824
+ assert_ok ! ( Assets :: transfer_all( Some ( 1 ) . into( ) , 0 , 2 , true ) ) ;
825
+ assert_eq ! ( Assets :: balance( 0 , & 1 ) , 100 ) ;
826
+ assert_eq ! ( Assets :: balance( 0 , & 2 ) , 200 ) ;
827
+ } ) ;
828
+ }
829
+
830
+ #[ test]
831
+ fn transfer_all_works_3 ( ) {
832
+ new_test_ext ( ) . execute_with ( || {
833
+ // setup
834
+ assert_ok ! ( Assets :: force_create( RuntimeOrigin :: root( ) , 0 , 0 , true , 100 ) ) ;
835
+ assert_ok ! ( Assets :: mint( RuntimeOrigin :: signed( 0 ) , 0 , 1 , 210 ) ) ;
836
+ set_frozen_balance ( 0 , 1 , 10 ) ;
837
+ assert_ok ! ( Assets :: mint( RuntimeOrigin :: signed( 0 ) , 0 , 2 , 100 ) ) ;
838
+ // transfer all and allow death w/ frozen
839
+ assert_ok ! ( Assets :: transfer_all( Some ( 1 ) . into( ) , 0 , 2 , false ) ) ;
840
+ assert_eq ! ( Assets :: balance( 0 , & 1 ) , 110 ) ;
841
+ assert_eq ! ( Assets :: balance( 0 , & 2 ) , 200 ) ;
842
+ } ) ;
843
+ }
844
+
802
845
#[ test]
803
846
fn origin_guards_should_work ( ) {
804
847
new_test_ext ( ) . execute_with ( || {
0 commit comments