From 92613777b9c028c4cf9dba2d3045435fb8aed5ae Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Thu, 12 May 2022 11:17:36 +0530 Subject: [PATCH] test: payment_entry_against_onhold_purchase_invoice --- .../doctype/payment_entry/test_payment_entry.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py index 5b70b510d2b..a8211c81f1b 100644 --- a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py @@ -743,6 +743,21 @@ class TestPaymentEntry(unittest.TestCase): flt(payment_entry.total_taxes_and_charges, 2), flt(10 / payment_entry.target_exchange_rate, 2) ) + def test_payment_entry_against_onhold_purchase_invoice(self): + pi = make_purchase_invoice() + + pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Bank USD - _TC") + pe.reference_no = "1" + pe.reference_date = "2016-01-01" + + # block invoice after creating payment entry + # since `get_payment_entry` will not attach blocked invoice to payment + pi.block_invoice() + with self.assertRaises(frappe.ValidationError) as err: + pe.save() + + self.assertTrue("is on hold" in str(err.exception).lower()) + def create_payment_entry(**args): payment_entry = frappe.new_doc("Payment Entry")