Inpatient Record - Test - Updated

This commit is contained in:
Jamsheer 2018-07-24 16:45:14 +05:30
parent 54ae74eb28
commit f7a6531fb3

View File

@ -7,10 +7,11 @@ import frappe
import unittest
from frappe.utils import now_datetime, today
from frappe.utils.make_random import get_random
from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient
from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge
class TestInpatientRecord(unittest.TestCase):
def test_admit_and_discharge(self):
frappe.db.sql("""delete from `tabInpatient Record`""")
patient = get_patient()
# Schedule Admission
ip_record = create_inpatient(patient)
@ -25,10 +26,18 @@ class TestInpatientRecord(unittest.TestCase):
self.assertEqual(1, frappe.db.get_value("Healthcare Service Unit", service_unit, "occupied"))
# Discharge
discharge_patient(ip_record)
schedule_discharge(patient=patient)
self.assertEqual(0, frappe.db.get_value("Healthcare Service Unit", service_unit, "occupied"))
ip_record1 = frappe.get_doc("Inpatient Record", ip_record.name)
# Validate Pending Invoices
self.assertRaises(frappe.ValidationError, ip_record.discharge)
mark_invoiced_inpatient_occupancy(ip_record1)
discharge_patient(ip_record1)
self.assertEqual(None, frappe.db.get_value("Patient", patient, "inpatient_record"))
self.assertEqual(None, frappe.db.get_value("Patient", patient, "inpatient_status"))
self.assertEqual(0, frappe.db.get_value("Healthcare Service Unit", service_unit, "occupied"))
def test_validate_overlap_admission(self):
frappe.db.sql("""delete from `tabInpatient Record`""")
@ -45,6 +54,12 @@ class TestInpatientRecord(unittest.TestCase):
self.assertRaises(frappe.ValidationError, ip_record_new.save)
frappe.db.sql("""delete from `tabInpatient Record`""")
def mark_invoiced_inpatient_occupancy(ip_record):
if ip_record.inpatient_occupancies:
for inpatient_occupancy in ip_record.inpatient_occupancies:
inpatient_occupancy.invoiced = 1
ip_record.save(ignore_permissions = True)
def create_inpatient(patient):
patient_obj = frappe.get_doc('Patient', patient)
inpatient_record = frappe.new_doc('Inpatient Record')