def test_update_amounts_raises_when_less_than_disbursed(self): create_test_loan(loan_no="_Test Loan 1", loan_principal=50000.0, recovery_amount=5000.0) create_test_disbursement(skip_dependencies=True, loan="_Test Loan 1", amount=40000.0) with self.assertRaises(frappe.exceptions.ValidationError): update_amounts(name="_Test Loan 1", principal_amount=39000.0) remove_test_disbursement("_Test Loan 1", keep_dependencies=True)
def remove_test_interest(loan="_Test Loan 1", keep_dependencies=False): interests = frappe.get_all("Microfinance Loan Interest", filters=[["loan", "in", loan]]) for doc in interests: try: rec = frappe.get_doc("Microfinance Loan Interest", doc.name) if rec.docstatus == 1: rec.cancel() except frappe.DoesNotExistError: pass frappe.delete_doc(doctype="Microfinance Loan Interest", name=doc.name, force=True) remove_test_disbursement(loan, keep_dependencies=keep_dependencies) if not keep_dependencies: remove_test_loan(loan)
def remove_test_write_off(loan='_Test Loan 1', keep_dependencies=False): write_offs = frappe.get_all( 'Microfinance Write Off', filters=[['loan', 'in', loan]], ) for doc in write_offs: try: rec = frappe.get_doc('Microfinance Write Off', doc.name) if rec.docstatus == 1: rec.cancel() except frappe.DoesNotExistError: pass frappe.delete_doc(doctype='Microfinance Write Off', name=doc.name, force=True) remove_test_disbursement(loan, keep_dependencies=keep_dependencies) if not keep_dependencies: remove_test_loan(loan)