Skip to content

Commit 9e30620

Browse files
author
Roman
committed
add unit tests for extrinsics
1 parent c66e40d commit 9e30620

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
from bittensor.core.extrinsics.asyncex import start_call
2+
import pytest
3+
4+
5+
@pytest.mark.asyncio
6+
async def test_start_call_extrinsics(subtensor, mocker, fake_wallet):
7+
"""Test that start_call_extrinsic correctly constructs and submits the extrinsic."""
8+
9+
# Preps
10+
netuid = 123
11+
wallet = fake_wallet
12+
wallet.name = "fake_wallet"
13+
wallet.coldkey = "fake_coldkey"
14+
15+
substrate = subtensor.substrate.__aenter__.return_value
16+
substrate.compose_call.return_value = "mock_call"
17+
substrate.create_signed_extrinsic.return_value = "signed_ext"
18+
substrate.submit_extrinsic.return_value = mocker.MagicMock(
19+
is_success=mocker.AsyncMock(return_value=True)(), error_message=""
20+
)
21+
22+
# Call
23+
success, message = await start_call.start_call_extrinsic(
24+
subtensor=subtensor,
25+
wallet=wallet,
26+
netuid=netuid,
27+
)
28+
29+
# Assertions
30+
substrate.compose_call.assert_awaited_once_with(
31+
call_module="SubtensorModule",
32+
call_function="start_call",
33+
call_params={"netuid": netuid},
34+
)
35+
36+
substrate.create_signed_extrinsic.assert_awaited_once_with(
37+
call="mock_call",
38+
keypair=wallet.coldkey,
39+
)
40+
41+
substrate.submit_extrinsic.assert_awaited_once_with(
42+
extrinsic="signed_ext",
43+
wait_for_inclusion=True,
44+
wait_for_finalization=False,
45+
)
46+
47+
assert success is True
48+
assert "Success" in message
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
from bittensor.core.extrinsics import start_call
2+
3+
4+
def test_start_call_extrinsics(subtensor, mocker, fake_wallet):
5+
"""Test that start_call_extrinsic correctly constructs and submits the extrinsic."""
6+
7+
# Preps
8+
netuid = 123
9+
wallet = fake_wallet
10+
wallet.name = "fake_wallet"
11+
wallet.coldkey = "fake_coldkey"
12+
13+
substrate = subtensor.substrate.__enter__.return_value
14+
substrate.compose_call.return_value = "mock_call"
15+
substrate.create_signed_extrinsic.return_value = "signed_ext"
16+
substrate.submit_extrinsic.return_value = mocker.MagicMock(
17+
is_success=True, error_message=""
18+
)
19+
20+
# Call
21+
success, message = start_call.start_call_extrinsic(
22+
subtensor=subtensor,
23+
wallet=wallet,
24+
netuid=netuid,
25+
)
26+
27+
# Assertions
28+
substrate.compose_call.assert_called_once_with(
29+
call_module="SubtensorModule",
30+
call_function="start_call",
31+
call_params={"netuid": netuid},
32+
)
33+
34+
substrate.create_signed_extrinsic.assert_called_once_with(
35+
call="mock_call",
36+
keypair=wallet.coldkey,
37+
)
38+
39+
substrate.submit_extrinsic.assert_called_once_with(
40+
extrinsic="signed_ext",
41+
wait_for_inclusion=True,
42+
wait_for_finalization=False,
43+
)
44+
45+
assert success is True
46+
assert "Success" in message

0 commit comments

Comments
 (0)