1
1
from bittensor .core .extrinsics .transfer import _do_transfer
2
2
from bittensor .utils .balance import Balance
3
3
4
-
5
- def test_do_transfer_is_success_true (subtensor , fake_wallet , mocker ):
4
+ import pytest
5
+
6
+
7
+ @pytest .mark .parametrize (
8
+ "amount,keep_alive,call_function,call_params" ,
9
+ [
10
+ (
11
+ Balance (1 ),
12
+ True ,
13
+ "transfer_keep_alive" ,
14
+ {"dest" : "SS58PUBLICKEY" , "value" : Balance (1 ).rao },
15
+ ),
16
+ (None , True , "transfer_all" , {"dest" : "SS58PUBLICKEY" , "keep_alive" : True }),
17
+ (None , False , "transfer_all" , {"dest" : "SS58PUBLICKEY" , "keep_alive" : False }),
18
+ (
19
+ Balance (1 ),
20
+ False ,
21
+ "transfer_allow_death" ,
22
+ {"dest" : "SS58PUBLICKEY" , "value" : Balance (1 ).rao },
23
+ ),
24
+ ],
25
+ )
26
+ def test_do_transfer_is_success_true (
27
+ subtensor , fake_wallet , mocker , amount , keep_alive , call_function , call_params
28
+ ):
6
29
"""Successful do_transfer call."""
7
30
# Prep
8
31
fake_dest = "SS58PUBLICKEY"
9
- fake_transfer_balance = Balance (1 )
10
32
fake_wait_for_inclusion = True
11
33
fake_wait_for_finalization = True
12
34
@@ -18,16 +40,17 @@ def test_do_transfer_is_success_true(subtensor, fake_wallet, mocker):
18
40
subtensor ,
19
41
fake_wallet ,
20
42
fake_dest ,
21
- fake_transfer_balance ,
43
+ amount ,
44
+ keep_alive ,
22
45
fake_wait_for_inclusion ,
23
46
fake_wait_for_finalization ,
24
47
)
25
48
26
49
# Asserts
27
50
subtensor .substrate .compose_call .assert_called_once_with (
28
51
call_module = "Balances" ,
29
- call_function = "transfer_keep_alive" ,
30
- call_params = { "dest" : fake_dest , "value" : fake_transfer_balance . rao } ,
52
+ call_function = call_function ,
53
+ call_params = call_params ,
31
54
)
32
55
subtensor .sign_and_send_extrinsic .assert_called_once_with (
33
56
call = subtensor .substrate .compose_call .return_value ,
@@ -45,6 +68,7 @@ def test_do_transfer_is_success_false(subtensor, fake_wallet, mocker):
45
68
# Prep
46
69
fake_dest = "SS58PUBLICKEY"
47
70
fake_transfer_balance = Balance (1 )
71
+ keep_alive = True
48
72
fake_wait_for_inclusion = True
49
73
fake_wait_for_finalization = True
50
74
@@ -57,6 +81,7 @@ def test_do_transfer_is_success_false(subtensor, fake_wallet, mocker):
57
81
fake_wallet ,
58
82
fake_dest ,
59
83
fake_transfer_balance ,
84
+ keep_alive ,
60
85
fake_wait_for_inclusion ,
61
86
fake_wait_for_finalization ,
62
87
)
@@ -83,6 +108,7 @@ def test_do_transfer_no_waits(subtensor, fake_wallet, mocker):
83
108
# Prep
84
109
fake_dest = "SS58PUBLICKEY"
85
110
fake_transfer_balance = Balance (1 )
111
+ keep_alive = True
86
112
fake_wait_for_inclusion = False
87
113
fake_wait_for_finalization = False
88
114
@@ -96,6 +122,7 @@ def test_do_transfer_no_waits(subtensor, fake_wallet, mocker):
96
122
fake_wallet ,
97
123
fake_dest ,
98
124
fake_transfer_balance ,
125
+ keep_alive ,
99
126
fake_wait_for_inclusion ,
100
127
fake_wait_for_finalization ,
101
128
)
0 commit comments