Skip to content

Commit 67000ff

Browse files
Revert get and retrive User Status Transition
1 parent 572f454 commit 67000ff

2 files changed

Lines changed: 96 additions & 0 deletions

File tree

hyperwallet/api.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,65 @@ def listUsers(self,
155155

156156
return [User(x) for x in response.get('data', [])]
157157

158+
def getUserStatusTransition(self,
159+
userToken=None,
160+
statusTransitionToken=None):
161+
'''
162+
Retrieve a User Status Transition.
163+
164+
:param userToken:
165+
A token identifying the User. **REQUIRED**
166+
:param statusTransitionToken:
167+
A token identifying the User Status Transition. **REQUIRED**
168+
:returns:
169+
A User Status Transition.
170+
'''
171+
172+
if not userToken:
173+
raise HyperwalletException('userToken is required')
174+
175+
if not statusTransitionToken:
176+
raise HyperwalletException('statusTransitionToken is required')
177+
178+
response = self.apiClient.doGet(
179+
os.path.join(
180+
'users',
181+
userToken,
182+
'status-transitions',
183+
statusTransitionToken
184+
)
185+
)
186+
187+
return StatusTransition(response)
188+
189+
def listUserStatusTransitions(self,
190+
userToken=None,
191+
params=None):
192+
'''
193+
List User Status Transitions.
194+
195+
:param userToken:
196+
A token identifying the User. **REQUIRED**
197+
:param params:
198+
A dictionary containing query parameters.
199+
:returns:
200+
An array of User Status Transitions.
201+
'''
202+
203+
if not userToken:
204+
raise HyperwalletException('userToken is required')
205+
206+
response = self.apiClient.doGet(
207+
os.path.join(
208+
'users',
209+
userToken,
210+
'status-transitions'
211+
),
212+
params
213+
)
214+
215+
return [StatusTransition(x) for x in response.get('data', [])]
216+
158217
'''
159218
160219
Bank Accounts

hyperwallet/tests/test_api.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,43 @@ def test_list_users_success(self, mock_get):
131131

132132
self.assertEqual(response[0].token, self.data.get('token'))
133133

134+
def test_get_user_status_transition_fail_need_user_token(self):
135+
136+
with self.assertRaises(HyperwalletException) as exc:
137+
self.api.getUserStatusTransition()
138+
139+
self.assertEqual(exc.exception.message, 'userToken is required')
140+
141+
def test_get_user_status_transition_fail_need_transition_token(self):
142+
143+
with self.assertRaises(HyperwalletException) as exc:
144+
self.api.getUserStatusTransition('token')
145+
146+
self.assertEqual(exc.exception.message, 'statusTransitionToken is required')
147+
148+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
149+
def test_get_user_status_transition_success(self, mock_get):
150+
151+
mock_get.return_value = self.data
152+
response = self.api.getUserStatusTransition('token', 'token')
153+
154+
self.assertTrue(response.token, self.data.get('token'))
155+
156+
def test_list_user_status_transitions_fail_need_user_token(self):
157+
158+
with self.assertRaises(HyperwalletException) as exc:
159+
self.api.listUserStatusTransitions()
160+
161+
self.assertEqual(exc.exception.message, 'userToken is required')
162+
163+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
164+
def test_list_user_status_transitions_success(self, mock_get):
165+
166+
mock_get.return_value = {'data': [self.data]}
167+
response = self.api.listUserStatusTransitions('token')
168+
169+
self.assertTrue(response[0].token, self.data.get('token'))
170+
134171
'''
135172
136173
Bank Accounts

0 commit comments

Comments
 (0)