Inpatient Record - Test - Updated
This commit is contained in:
parent
54ae74eb28
commit
f7a6531fb3
@ -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')
|
||||
|
Loading…
x
Reference in New Issue
Block a user