Skip to content

Commit

Permalink
fixup test
Browse files Browse the repository at this point in the history
  • Loading branch information
blaggacao committed May 3, 2024
1 parent 69cbd53 commit 920743c
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 22 deletions.
12 changes: 10 additions & 2 deletions erpnext/accounts/doctype/payment_request/payment_gateway_v1.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,15 @@ def _get_payment_controller(*args, **kwargs):


def is_v2_gateway(payment_gateway):
controller = _get_payment_controller(payment_gateway)
try:
from payments.controllers import PaymentController
except Exception:
return False
try:
controller = _get_payment_controller(payment_gateway)
except Exception:
frappe.warnings.warn(f"{payment_gateway} is not a valid gateway; this is normal during tests.")
return False
return issubclass(controller, PaymentController)


Expand Down Expand Up @@ -107,7 +111,11 @@ def set_payment_request_url(self, controller):

@deprecated
def v1_gateway_before_submit(self, payment_gateway):
controller = _get_payment_controller(payment_gateway)
try:
controller = _get_payment_controller(payment_gateway)
except Exception:
frappe.warnings.warn(f"{payment_gateway} is not a valid gateway; this is normal during tests.")
return False
if self.payment_channel == "Phone":
request_phone_payment(self, controller)
else:
Expand Down
43 changes: 23 additions & 20 deletions erpnext/accounts/doctype/payment_request/test_payment_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,28 @@ def request_for_payment(self, **kwargs) -> None:
return


def patch_gateway_controller(self):
send_email = patch(
"erpnext.accounts.doctype.payment_request.payment_request.PaymentRequest.send_email",
return_value=None,
)
self.send_email = send_email.start()
self.addCleanup(send_email.stop)
get_payment_url = patch(
# this also shadows one (1) call to _get_payment_controller
"erpnext.accounts.doctype.payment_request.payment_gateway_v1.get_payment_url",
return_value=PAYMENT_URL,
)
self.get_payment_url = get_payment_url.start()
self.addCleanup(get_payment_url.stop)
_get_payment_controller = patch(
"erpnext.accounts.doctype.payment_request.payment_gateway_v1._get_payment_controller",
return_value=Mock(wraps=GatewayControllerInterface()),
)
self._get_payment_controller = _get_payment_controller.start()
self.addCleanup(_get_payment_controller.stop)


class TestPaymentRequest(unittest.TestCase):
def setUp(self):
for payment_gateway in payment_gateways:
Expand All @@ -95,26 +117,7 @@ def setUp(self):
"name",
):
frappe.get_doc(method).insert(ignore_permissions=True)

send_email = patch(
"erpnext.accounts.doctype.payment_request.payment_request.PaymentRequest.send_email",
return_value=None,
)
self.send_email = send_email.start()
self.addCleanup(send_email.stop)
get_payment_url = patch(
# this also shadows one (1) call to _get_payment_controller
"erpnext.accounts.doctype.payment_request.payment_gateway_v1.get_payment_url",
return_value=PAYMENT_URL,
)
self.get_payment_url = get_payment_url.start()
self.addCleanup(get_payment_url.stop)
_get_payment_controller = patch(
"erpnext.accounts.doctype.payment_request.payment_gateway_v1._get_payment_controller",
return_value=Mock(wraps=GatewayControllerInterface()),
)
self._get_payment_controller = _get_payment_controller.start()
self.addCleanup(_get_payment_controller.stop)
patch_gateway_controller(self)

def test_payment_request_linkings(self):
so_inr = make_sales_order(currency="INR", do_not_save=True)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request
from erpnext.accounts.doctype.payment_request.test_payment_request import patch_gateway_controller
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
from erpnext.accounts.utils import get_fiscal_year
Expand All @@ -20,6 +21,7 @@ def setUp(self):
self.create_customer()
self.create_item()
update_repost_settings()
patch_gateway_controller(self)

def tearDown(self):
frappe.db.rollback()
Expand Down

0 comments on commit 920743c

Please sign in to comment.