mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-01 11:19:09 +00:00
Inpatient Record - Test - Updated
This commit is contained in:
@@ -7,10 +7,11 @@ import frappe
|
|||||||
import unittest
|
import unittest
|
||||||
from frappe.utils import now_datetime, today
|
from frappe.utils import now_datetime, today
|
||||||
from frappe.utils.make_random import get_random
|
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):
|
class TestInpatientRecord(unittest.TestCase):
|
||||||
def test_admit_and_discharge(self):
|
def test_admit_and_discharge(self):
|
||||||
|
frappe.db.sql("""delete from `tabInpatient Record`""")
|
||||||
patient = get_patient()
|
patient = get_patient()
|
||||||
# Schedule Admission
|
# Schedule Admission
|
||||||
ip_record = create_inpatient(patient)
|
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"))
|
self.assertEqual(1, frappe.db.get_value("Healthcare Service Unit", service_unit, "occupied"))
|
||||||
|
|
||||||
# Discharge
|
# 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_record"))
|
||||||
self.assertEqual(None, frappe.db.get_value("Patient", patient, "inpatient_status"))
|
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):
|
def test_validate_overlap_admission(self):
|
||||||
frappe.db.sql("""delete from `tabInpatient Record`""")
|
frappe.db.sql("""delete from `tabInpatient Record`""")
|
||||||
@@ -45,6 +54,12 @@ class TestInpatientRecord(unittest.TestCase):
|
|||||||
self.assertRaises(frappe.ValidationError, ip_record_new.save)
|
self.assertRaises(frappe.ValidationError, ip_record_new.save)
|
||||||
frappe.db.sql("""delete from `tabInpatient Record`""")
|
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):
|
def create_inpatient(patient):
|
||||||
patient_obj = frappe.get_doc('Patient', patient)
|
patient_obj = frappe.get_doc('Patient', patient)
|
||||||
inpatient_record = frappe.new_doc('Inpatient Record')
|
inpatient_record = frappe.new_doc('Inpatient Record')
|
||||||
|
|||||||
Reference in New Issue
Block a user