@@ -3833,9 +3833,7 @@ async def test_get_subnet_price(subtensor, mocker):
3833
3833
)
3834
3834
3835
3835
# Asserts
3836
- mocked_determine_block_hash .assert_awaited_once_with (
3837
- block = None , block_hash = None , reuse_block = False
3838
- )
3836
+ mocked_determine_block_hash .assert_awaited_once_with (block = None )
3839
3837
mocked_query .assert_awaited_once_with (
3840
3838
module = "Swap" ,
3841
3839
storage_function = "AlphaSqrtPrice" ,
@@ -3875,3 +3873,85 @@ async def fake_current_sqrt_prices():
3875
3873
page_size = 129 , # total number of subnets
3876
3874
)
3877
3875
assert result == expected_prices
3876
+
3877
+
3878
+ @pytest .mark .asyncio
3879
+ async def test_all_subnets (subtensor , mocker ):
3880
+ """Verify that `all_subnets` calls proper methods and returns the correct value."""
3881
+ # Preps
3882
+ mocked_determine_block_hash = mocker .patch .object (subtensor , "determine_block_hash" )
3883
+ mocked_di_list_from_dicts = mocker .patch .object (
3884
+ async_subtensor .DynamicInfo , "list_from_dicts"
3885
+ )
3886
+ mocked_get_subnet_prices = mocker .patch .object (
3887
+ subtensor ,
3888
+ "get_subnet_prices" ,
3889
+ return_value = {0 : Balance .from_tao (1 ), 1 : Balance .from_tao (0.029258617 )},
3890
+ )
3891
+ mocked_decode = mocker .Mock (return_value = [{"netuid" : 0 }, {"netuid" : 1 }])
3892
+ mocked_runtime_call = mocker .Mock (decode = mocked_decode )
3893
+ mocker .patch .object (
3894
+ subtensor .substrate , "runtime_call" , return_value = mocked_runtime_call
3895
+ )
3896
+
3897
+ # Call
3898
+ result = await subtensor .all_subnets ()
3899
+
3900
+ # Asserts
3901
+ mocked_determine_block_hash .assert_awaited_once_with (
3902
+ block = None , block_hash = None , reuse_block = False
3903
+ )
3904
+ subtensor .substrate .runtime_call .assert_called_once_with (
3905
+ api = "SubnetInfoRuntimeApi" ,
3906
+ method = "get_all_dynamic_info" ,
3907
+ block_hash = mocked_determine_block_hash .return_value ,
3908
+ )
3909
+ mocked_get_subnet_prices .assert_called_once ()
3910
+ mocked_di_list_from_dicts .assert_called_once_with (
3911
+ [
3912
+ {"netuid" : 0 , "price" : Balance .from_tao (1 )},
3913
+ {"netuid" : 1 , "price" : Balance .from_tao (0.029258617 )},
3914
+ ]
3915
+ )
3916
+ assert result == mocked_di_list_from_dicts .return_value
3917
+
3918
+
3919
+ @pytest .mark .asyncio
3920
+ async def test_subnet (subtensor , mocker ):
3921
+ """Verify that `subnet` calls proper methods and returns the correct value."""
3922
+ # Preps
3923
+ netuid = 14
3924
+ mocked_determine_block_hash = mocker .patch .object (subtensor , "determine_block_hash" )
3925
+ mocked_di_from_dict = mocker .patch .object (async_subtensor .DynamicInfo , "from_dict" )
3926
+ mocked_get_subnet_price = mocker .patch .object (
3927
+ subtensor , "get_subnet_price" , return_value = Balance .from_tao (100.0 )
3928
+ )
3929
+ mocked_decode = mocker .Mock (return_value = {"netuid" : netuid })
3930
+ mocked_runtime_call = mocker .Mock (decode = mocked_decode )
3931
+ mocker .patch .object (
3932
+ subtensor .substrate , "runtime_call" , return_value = mocked_runtime_call
3933
+ )
3934
+
3935
+ # Call
3936
+ result = await subtensor .subnet (netuid = netuid )
3937
+
3938
+ # Asserts
3939
+ mocked_determine_block_hash .assert_awaited_once_with (
3940
+ block = None , block_hash = None , reuse_block = False
3941
+ )
3942
+ subtensor .substrate .runtime_call .assert_awaited_once_with (
3943
+ "SubnetInfoRuntimeApi" ,
3944
+ "get_dynamic_info" ,
3945
+ params = [netuid ],
3946
+ block_hash = mocked_determine_block_hash .return_value ,
3947
+ )
3948
+ mocked_get_subnet_price .assert_awaited_once_with (
3949
+ netuid = netuid ,
3950
+ block = None ,
3951
+ block_hash = mocked_determine_block_hash .return_value ,
3952
+ reuse_block = False ,
3953
+ )
3954
+ mocked_di_from_dict .assert_called_once_with (
3955
+ {"netuid" : netuid , "price" : Balance .from_tao (100.0 )}
3956
+ )
3957
+ assert result == mocked_di_from_dict .return_value
0 commit comments