Skip to content

Commit d72dc3a

Browse files
committed
PaypalProvider: add test for get() with payment=None
1 parent e725c1c commit d72dc3a

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

payments/paypal/test_paypal.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,50 @@ def test_provider_renews_access_token(self, mocked_post):
387387
payment_response = json.loads(self.payment.extra_data)["auth_response"]
388388
self.assertEqual(payment_response["access_token"], new_token)
389389

390+
def test_provider_get_with_none_payment(self):
391+
test_url = "http://example.com/api/test"
392+
expected_get_response_data = {"status": "success"}
393+
expected_token = "test_access_token"
394+
expected_token_type = "Bearer"
395+
396+
with patch("requests.post") as mocked_post, patch(
397+
"requests.get"
398+
) as mocked_get:
399+
# Mock for token acquisition
400+
token_response_mock = MagicMock()
401+
token_response_mock.json.return_value = {
402+
"access_token": expected_token,
403+
"token_type": expected_token_type,
404+
"expires_in": 3600,
405+
}
406+
token_response_mock.status_code = 200
407+
408+
# Mock for the actual GET request
409+
get_response_mock = MagicMock()
410+
get_response_mock.json.return_value = expected_get_response_data
411+
get_response_mock.status_code = 200
412+
413+
mocked_post.return_value = token_response_mock
414+
mocked_get.return_value = get_response_mock
415+
416+
response_data = self.provider.get(None, test_url)
417+
418+
mocked_post.assert_called_once_with(
419+
self.provider.oauth2_url,
420+
data={"grant_type": "client_credentials"},
421+
headers={"Accept": "application/json", "Accept-Language": "en_US"},
422+
auth=(self.provider.client_id, self.provider.secret),
423+
)
424+
425+
mocked_get.assert_called_once_with(
426+
test_url,
427+
headers={
428+
"Content-Type": "application/json",
429+
"Authorization": f"{expected_token_type} {expected_token}",
430+
},
431+
)
432+
self.assertEqual(response_data, expected_get_response_data)
433+
390434

391435
class TestPaypalCardProvider(TestCase):
392436
def setUp(self):

0 commit comments

Comments
 (0)