Skip to content

Commit 527361c

Browse files
authored
Update test_token_fee_schedule_update_transaction_e2e.py
Signed-off-by: Akshat8510 <[email protected]>
1 parent 2c63d1c commit 527361c

File tree

1 file changed

+37
-77
lines changed

1 file changed

+37
-77
lines changed

tests/integration/test_token_fee_schedule_update_transaction_e2e.py

Lines changed: 37 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22

33
from hiero_sdk_python.hbar import Hbar
4-
from tests.integration.utils_for_test import IntegrationTestEnv
4+
from tests.integration.utils_for_test import IntegrationTestEnv, create_fungible_token, create_nft_token
55
from hiero_sdk_python.tokens.token_create_transaction import (
66
TokenCreateTransaction,
77
TokenParams,
@@ -21,64 +21,16 @@
2121
from hiero_sdk_python.tokens.token_id import TokenId
2222
from hiero_sdk_python.tokens.token_delete_transaction import TokenDeleteTransaction
2323

24-
# --- Helper function for consistent token creation ---
25-
def _create_test_fungible_token(env, admin_key, fee_schedule_key):
26-
"""Helper to create a fungible token with admin and fee keys."""
27-
token_params = TokenParams(
28-
token_name="Test Fungible",
29-
token_symbol="FT",
30-
treasury_account_id=env.operator_id,
31-
initial_supply=1000,
32-
token_type=TokenType.FUNGIBLE_COMMON,
33-
)
34-
keys = TokenKeys(
35-
admin_key=admin_key,
36-
supply_key=admin_key,
37-
fee_schedule_key=fee_schedule_key
38-
)
39-
# Use the setter as well, aligning with PR #409's test
40-
create_tx = TokenCreateTransaction(token_params=token_params, keys=keys)
41-
create_tx.set_fee_schedule_key(fee_schedule_key)
42-
43-
receipt = create_tx.execute(env.client)
44-
assert receipt.status == ResponseCode.SUCCESS, "Fungible token creation failed"
45-
return receipt.token_id
46-
47-
# --- Helper function for consistent token creation ---
48-
def _create_test_nft(env, admin_key, fee_schedule_key):
49-
"""Helper to create an NFT with admin and fee keys."""
50-
token_params = TokenParams(
51-
token_name="Test NFT",
52-
token_symbol="NFT",
53-
treasury_account_id=env.operator_id,
54-
initial_supply=0,
55-
decimals=0,
56-
token_type=TokenType.NON_FUNGIBLE_UNIQUE,
57-
supply_type=SupplyType.FINITE,
58-
max_supply=1000,
59-
)
60-
keys = TokenKeys(
61-
admin_key=admin_key,
62-
supply_key=admin_key,
63-
fee_schedule_key=fee_schedule_key
64-
)
65-
# Use the setter as well, aligning with PR #409's test
66-
create_tx = TokenCreateTransaction(token_params=token_params, keys=keys)
67-
create_tx.set_fee_schedule_key(fee_schedule_key)
68-
69-
receipt = create_tx.execute(env.client)
70-
assert receipt.status == ResponseCode.SUCCESS, "NFT creation failed"
71-
return receipt.token_id
72-
73-
7424
@pytest.mark.integration
7525
def test_token_fee_schedule_update_e2e_fungible():
7626
"""Test updating fee schedule successfully for a Fungible Token."""
7727
env = IntegrationTestEnv()
7828
try:
7929
fee_schedule_key = env.operator_key
80-
admin_key = env.operator_key
81-
token_id = _create_test_fungible_token(env, admin_key, fee_schedule_key)
30+
token_id = create_fungible_token(
31+
env,
32+
opts=[lambda tx: tx.set_fee_schedule_key(fee_schedule_key)]
33+
)
8234
assert token_id is not None
8335

8436
new_fee = CustomFixedFee(
@@ -108,8 +60,10 @@ def test_token_fee_schedule_update_e2e_nft():
10860
env = IntegrationTestEnv()
10961
try:
11062
fee_schedule_key = env.operator_key
111-
admin_key = env.operator_key
112-
token_id = _create_test_nft(env, admin_key, fee_schedule_key)
63+
token_id = create_nft_token(
64+
env,
65+
opts=[lambda tx: tx.set_fee_schedule_key(fee_schedule_key)]
66+
)
11367
assert token_id is not None
11468

11569
new_fee = CustomRoyaltyFee(
@@ -139,8 +93,10 @@ def test_token_fee_schedule_update_fails_with_invalid_signature():
13993
env = IntegrationTestEnv()
14094
try:
14195
fee_schedule_key = PrivateKey.generate() # Must be a new key
142-
admin_key = env.operator_key
143-
token_id = _create_test_fungible_token(env, admin_key, fee_schedule_key)
96+
token_id = create_fungible_token(
97+
env,
98+
opts=[lambda tx: tx.set_fee_schedule_key(fee_schedule_key)]
99+
)
144100
assert token_id is not None
145101

146102
wrong_key = PrivateKey.generate()
@@ -188,7 +144,13 @@ def test_token_fee_schedule_update_fails_for_deleted_token():
188144
try:
189145
admin_key = env.operator_key
190146
fee_schedule_key = env.operator_key
191-
token_id = _create_test_fungible_token(env, admin_key, fee_schedule_key)
147+
token_id = create_fungible_token(
148+
env,
149+
opts=[
150+
lambda tx: tx.set_admin_key(admin_key),
151+
lambda tx: tx.set_fee_schedule_key(fee_schedule_key)
152+
]
153+
)
192154
assert token_id is not None
193155

194156
delete_receipt = TokenDeleteTransaction().set_token_id(token_id).execute(env.client)
@@ -212,9 +174,11 @@ def test_token_fee_schedule_update_fails_royalty_on_fungible():
212174
"""Test failure when adding a royalty fee to a fungible token."""
213175
env = IntegrationTestEnv()
214176
try:
215-
admin_key = env.operator_key
216177
fee_schedule_key = env.operator_key
217-
token_id = _create_test_fungible_token(env, admin_key, fee_schedule_key)
178+
token_id = create_fungible_token(
179+
env,
180+
opts=[lambda tx: tx.set_fee_schedule_key(fee_schedule_key)]
181+
)
218182
assert token_id is not None
219183

220184
new_fee = CustomRoyaltyFee(numerator=1, denominator=10, fee_collector_account_id=env.operator_id)
@@ -236,9 +200,11 @@ def test_token_fee_schedule_update_fails_fractional_on_nft():
236200
"""Test failure when adding a fractional fee to an NFT."""
237201
env = IntegrationTestEnv()
238202
try:
239-
admin_key = env.operator_key
240203
fee_schedule_key = env.operator_key
241-
token_id = _create_test_nft(env, admin_key, fee_schedule_key)
204+
token_id = create_nft_token(
205+
env,
206+
opts=[lambda tx: tx.set_fee_schedule_key(fee_schedule_key)]
207+
)
242208
assert token_id is not None
243209

244210
new_fee = CustomFractionalFee(
@@ -270,21 +236,15 @@ def test_token_fee_schedule_update_clears_fees():
270236
fee_schedule_key = env.operator_key
271237

272238
initial_fee = CustomFixedFee(amount=10, fee_collector_account_id=env.operator_id)
273-
token_params = TokenParams(
274-
token_name="Test Clear Fees",
275-
token_symbol="CLEAR",
276-
treasury_account_id=env.operator_id,
277-
initial_supply=1000,
278-
token_type=TokenType.FUNGIBLE_COMMON,
279-
custom_fees=[initial_fee],
239+
token_id = create_fungible_token(
240+
env,
241+
opts=[
242+
lambda tx: tx.set_custom_fees([initial_fee]),
243+
lambda tx: tx.set_admin_key(admin_key),
244+
lambda tx: tx.set_fee_schedule_key(fee_schedule_key)
245+
]
280246
)
281-
keys = TokenKeys(admin_key=admin_key, fee_schedule_key=fee_schedule_key)
282-
create_tx = TokenCreateTransaction(token_params=token_params, keys=keys)
283-
create_tx.set_fee_schedule_key(fee_schedule_key)
284-
285-
create_receipt = create_tx.execute(env.client)
286-
assert create_receipt.status == ResponseCode.SUCCESS, "Token creation failed"
287-
token_id = create_receipt.token_id
247+
assert token_id is not None
288248

289249
token_info = TokenInfoQuery().set_token_id(token_id).execute(env.client)
290250
assert len(token_info.custom_fees) == 1
@@ -303,4 +263,4 @@ def test_token_fee_schedule_update_clears_fees():
303263
token_info_cleared = TokenInfoQuery().set_token_id(token_id).execute(env.client)
304264
assert len(token_info_cleared.custom_fees) == 0
305265
finally:
306-
env.close()
266+
env.close()

0 commit comments

Comments
 (0)