From 120d0e579651e9b73340e8ba888d137ce411632e Mon Sep 17 00:00:00 2001 From: Rucha Mahabal Date: Thu, 9 Apr 2020 19:16:01 +0530 Subject: [PATCH] fix: Fee Validity test --- .../doctype/fee_validity/test_fee_validity.py | 14 ++++++++++++-- .../patient_appointment/patient_appointment.py | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py b/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py index fbb2530611..cdf692e68b 100644 --- a/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py +++ b/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py @@ -6,7 +6,7 @@ from __future__ import unicode_literals import frappe import unittest from frappe.utils import nowdate, add_days -from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_healthcare_docs, create_appointment +from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_healthcare_docs, create_appointment, create_healthcare_service_items test_dependencies = ["Company"] @@ -14,10 +14,20 @@ class TestFeeValidity(unittest.TestCase): def setUp(self): frappe.db.sql("""delete from `tabPatient Appointment`""") frappe.db.sql("""delete from `tabFee Validity`""") + frappe.db.sql("""delete from `tabPatient`""") def test_fee_validity(self): + item = create_healthcare_service_items() + healthcare_settings = frappe.get_single("Healthcare Settings") + healthcare_settings.enable_free_follow_ups = 1 + healthcare_settings.max_visits = 2 + healthcare_settings.valid_days = 7 + healthcare_settings.automate_appointment_invoicing = 1 + healthcare_settings.op_consulting_charge_item = item + healthcare_settings.save(ignore_permissions=True) patient, medical_department, practitioner = create_healthcare_docs() - # appointment should not be invoiced as it is within fee validity + + # appointment should not be invoiced. Check Fee Validity created for new patient appointment = create_appointment(patient, practitioner, nowdate()) invoiced = frappe.db.get_value("Patient Appointment", appointment.name, "invoiced") self.assertEqual(invoiced, 0) diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py index c867120bc8..a2d9d0240f 100755 --- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py +++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py @@ -24,8 +24,8 @@ class PatientAppointment(Document): def after_insert(self): self.update_prescription_details() - self.update_fee_validity() invoice_appointment(self) + self.update_fee_validity() send_confirmation_msg(self) def set_status(self): @@ -107,7 +107,7 @@ def invoice_appointment(appointment_doc): enable_free_follow_ups = frappe.db.get_single_value('Healthcare Settings', 'enable_free_follow_ups') if enable_free_follow_ups: fee_validity = check_fee_validity(appointment_doc) - if fee_validity.status == 'Completed': + if fee_validity and fee_validity.status == 'Completed': fee_validity = None elif not fee_validity: if frappe.db.exists('Fee Validity Reference', {'appointment': appointment_doc.name}):