Skip to content

Commit 05e0ccd

Browse files
committed
feat: add wallet token endpoints
1 parent a5541d1 commit 05e0ccd

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed

client/api/wallets.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,18 @@ def votes(self, wallet_id, page=None, limit=100):
4949
'limit': limit,
5050
}
5151
return self.with_endpoint('api').request_get(f'wallets/{wallet_id}/votes', params)
52+
53+
def tokens(self, wallet_id, page=None, limit=100):
54+
params = {
55+
'page': page,
56+
'limit': limit,
57+
}
58+
return self.with_endpoint('api').request_get(f'wallets/{wallet_id}/tokens', params)
59+
60+
def token_addresses(self, addresses, page=None, limit=100):
61+
params = {
62+
'addresses': addresses,
63+
'page': page,
64+
'limit': limit,
65+
}
66+
return self.with_endpoint('api').request_get('wallets/tokens', params)

tests/api/test_wallets.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,3 +240,75 @@ def test_votes_calls_correct_url_with_passed_in_params():
240240
)
241241
assert 'page=5' in responses.calls[0].request.url
242242
assert 'limit=69' in responses.calls[0].request.url
243+
244+
245+
def test_tokens_calls_correct_url_with_default_params():
246+
wallet_id = '12345'
247+
responses.add(
248+
responses.GET,
249+
'http://127.0.0.1:4002/api/wallets/{}/tokens'.format(wallet_id),
250+
json={'success': True},
251+
status=200
252+
)
253+
254+
client = ArkClient('http://127.0.0.1:4002/api')
255+
client.wallets.tokens(wallet_id)
256+
assert len(responses.calls) == 1
257+
assert responses.calls[0].request.url == (
258+
'http://127.0.0.1:4002/api/wallets/12345/tokens?limit=100'
259+
)
260+
261+
262+
def test_tokens_calls_correct_url_with_passed_in_params():
263+
wallet_id = '12345'
264+
responses.add(
265+
responses.GET,
266+
'http://127.0.0.1:4002/api/wallets/{}/tokens'.format(wallet_id),
267+
json={'success': True},
268+
status=200
269+
)
270+
271+
client = ArkClient('http://127.0.0.1:4002/api')
272+
client.wallets.tokens(wallet_id, page=5, limit=69)
273+
assert len(responses.calls) == 1
274+
assert responses.calls[0].request.url.startswith(
275+
'http://127.0.0.1:4002/api/wallets/12345/tokens?'
276+
)
277+
assert 'page=5' in responses.calls[0].request.url
278+
assert 'limit=69' in responses.calls[0].request.url
279+
280+
281+
def test_token_addresses_calls_correct_url_with_default_params():
282+
responses.add(
283+
responses.GET,
284+
'http://127.0.0.1:4002/api/wallets/tokens',
285+
json={'success': True},
286+
status=200
287+
)
288+
289+
client = ArkClient('http://127.0.0.1:4002/api')
290+
client.wallets.token_addresses('0xabc,0xdef')
291+
assert len(responses.calls) == 1
292+
assert responses.calls[0].request.url.startswith(
293+
'http://127.0.0.1:4002/api/wallets/tokens?'
294+
)
295+
assert 'addresses=0xabc%2C0xdef' in responses.calls[0].request.url
296+
assert 'limit=100' in responses.calls[0].request.url
297+
298+
299+
def test_token_addresses_calls_correct_url_with_passed_in_params():
300+
responses.add(
301+
responses.GET,
302+
'http://127.0.0.1:4002/api/wallets/tokens',
303+
json={'success': True},
304+
status=200
305+
)
306+
307+
client = ArkClient('http://127.0.0.1:4002/api')
308+
client.wallets.token_addresses('0xabc,0xdef', page=2, limit=50)
309+
assert len(responses.calls) == 1
310+
assert responses.calls[0].request.url.startswith(
311+
'http://127.0.0.1:4002/api/wallets/tokens?'
312+
)
313+
assert 'page=2' in responses.calls[0].request.url
314+
assert 'limit=50' in responses.calls[0].request.url

0 commit comments

Comments
 (0)