Skip to content

Commit 572f454

Browse files
add prepaid card update endpoint
1 parent 53106ad commit 572f454

2 files changed

Lines changed: 67 additions & 0 deletions

File tree

hyperwallet/api.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -731,6 +731,44 @@ def createPrepaidCard(self,
731731

732732
return PrepaidCard(response)
733733

734+
def updatePrepaidCard(self,
735+
userToken=None,
736+
prepaidCardToken=None,
737+
data=None):
738+
'''
739+
Update a Prepaid Card.
740+
741+
:param userToken:
742+
A token identifying the User. **REQUIRED**
743+
:param prepaidCardToken:
744+
A token identifying the Prepaid Card. **REQUIRED**
745+
:param data:
746+
A dictionary containing Prepaid Card information. **REQUIRED**
747+
:returns:
748+
A Prepaid Card.
749+
'''
750+
751+
if not userToken:
752+
raise HyperwalletException('userToken is required')
753+
754+
if not prepaidCardToken:
755+
raise HyperwalletException('prepaidCardToken is required')
756+
757+
if not data:
758+
raise HyperwalletException('data is required')
759+
760+
response = self.apiClient.doPut(
761+
os.path.join(
762+
'users',
763+
userToken,
764+
'prepaid-cards',
765+
prepaidCardToken
766+
),
767+
data
768+
)
769+
770+
return PrepaidCard(response)
771+
734772
def getPrepaidCard(self,
735773
userToken=None,
736774
prepaidCardToken=None):

hyperwallet/tests/test_api.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,35 @@ def test_create_prepaid_card_success(self, mock_post):
573573

574574
self.assertTrue(response.token, self.data.get('token'))
575575

576+
def test_update_prepaid_card_fail_need_user_token(self):
577+
578+
with self.assertRaises(HyperwalletException) as exc:
579+
self.api.updatePrepaidCard()
580+
581+
self.assertEqual(exc.exception.message, 'userToken is required')
582+
583+
def test_update_prepaid_card_fail_need_card_token(self):
584+
585+
with self.assertRaises(HyperwalletException) as exc:
586+
self.api.updatePrepaidCard('token')
587+
588+
self.assertEqual(exc.exception.message, 'prepaidCardToken is required')
589+
590+
def test_update_prepaid_card_fail_need_data(self):
591+
592+
with self.assertRaises(HyperwalletException) as exc:
593+
self.api.updatePrepaidCard('token', 'token')
594+
595+
self.assertEqual(exc.exception.message, 'data is required')
596+
597+
@mock.patch('hyperwallet.utils.ApiClient._makeRequest')
598+
def test_update_prepaid_card_success(self, mock_put):
599+
600+
mock_put.return_value = self.data
601+
response = self.api.updatePrepaidCard('token', 'token', self.data)
602+
603+
self.assertTrue(response.token, self.data.get('token'))
604+
576605
def test_get_prepaid_card_fail_need_user_token(self):
577606

578607
with self.assertRaises(HyperwalletException) as exc:

0 commit comments

Comments
 (0)