test: Medical Record creation for custom doctypes
This commit is contained in:
parent
060d647248
commit
b15a19c6e0
@ -97,14 +97,12 @@ def set_subject_field(doc):
|
|||||||
fieldname = entry.get('fieldname')
|
fieldname = entry.get('fieldname')
|
||||||
if entry.get('fieldtype') == 'Table' and doc.get(fieldname):
|
if entry.get('fieldtype') == 'Table' and doc.get(fieldname):
|
||||||
formatted_value = get_formatted_value_for_table_field(doc.get(fieldname), meta.get_field(fieldname))
|
formatted_value = get_formatted_value_for_table_field(doc.get(fieldname), meta.get_field(fieldname))
|
||||||
subject += frappe.bold(_(entry.get('label')) + ': ') + '<br>' + cstr(formatted_value)
|
subject += frappe.bold(_(entry.get('label')) + ': ') + '<br>' + cstr(formatted_value) + '<br>'
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if doc.get(fieldname):
|
if doc.get(fieldname):
|
||||||
formatted_value = format_value(doc.get(fieldname), meta.get_field(fieldname), doc)
|
formatted_value = format_value(doc.get(fieldname), meta.get_field(fieldname), doc)
|
||||||
subject += frappe.bold(_(entry.get('label')) + ': ') + cstr(formatted_value)
|
subject += frappe.bold(_(entry.get('label')) + ': ') + cstr(formatted_value) + '<br>'
|
||||||
|
|
||||||
subject += '<br>'
|
|
||||||
|
|
||||||
return subject
|
return subject
|
||||||
|
|
||||||
|
|||||||
@ -3,8 +3,102 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
# import frappe
|
import frappe
|
||||||
import unittest
|
import unittest
|
||||||
|
import json
|
||||||
|
from frappe.utils import getdate
|
||||||
|
from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_patient
|
||||||
|
|
||||||
class TestPatientHistorySettings(unittest.TestCase):
|
class TestPatientHistorySettings(unittest.TestCase):
|
||||||
pass
|
def setUp(self):
|
||||||
|
dt = create_custom_doctype()
|
||||||
|
settings = frappe.get_single('Patient History Settings')
|
||||||
|
settings.append("custom_doctypes", {
|
||||||
|
"document_type": dt.name,
|
||||||
|
"date_fieldname": "date",
|
||||||
|
"selected_fields": json.dumps([{
|
||||||
|
"label": "Date",
|
||||||
|
"fieldname": "date",
|
||||||
|
"fieldtype": "Date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Rating",
|
||||||
|
"fieldname": "rating",
|
||||||
|
"fieldtype": "Rating"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Feedback",
|
||||||
|
"fieldname": "feedback",
|
||||||
|
"fieldtype": "Small Text"
|
||||||
|
}])
|
||||||
|
})
|
||||||
|
settings.save()
|
||||||
|
|
||||||
|
def test_custom_doctype_medical_record(self):
|
||||||
|
# tests for medical record creation of standard doctypes in test_patient_medical_record.py
|
||||||
|
patient = create_patient()
|
||||||
|
doc = create_doc(patient)
|
||||||
|
|
||||||
|
# check for medical record
|
||||||
|
medical_rec = frappe.db.exists('Patient Medical Record', {'status': 'Open', 'reference_name': doc.name})
|
||||||
|
self.assertTrue(medical_rec)
|
||||||
|
|
||||||
|
medical_rec = frappe.get_doc('Patient Medical Record', medical_rec)
|
||||||
|
expected_subject = "<b>Date: </b>{0}<br><b>Rating: </b>3<br><b>Feedback: </b>Test Patient History Settings<br>".format(
|
||||||
|
getdate().strftime("%d-%m-%Y"))
|
||||||
|
self.assertEqual(medical_rec.subject, expected_subject)
|
||||||
|
self.assertEqual(medical_rec.patient, patient)
|
||||||
|
self.assertEqual(medical_rec.communication_date, getdate())
|
||||||
|
|
||||||
|
|
||||||
|
def create_custom_doctype():
|
||||||
|
if not frappe.db.exists("DocType", "Test Patient Feedback"):
|
||||||
|
doc = frappe.get_doc({
|
||||||
|
"doctype": "DocType",
|
||||||
|
"module": "Healthcare",
|
||||||
|
"custom": 1,
|
||||||
|
"is_submittable": 1,
|
||||||
|
"fields": [{
|
||||||
|
"label": "Date",
|
||||||
|
"fieldname": "date",
|
||||||
|
"fieldtype": "Date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Patient",
|
||||||
|
"fieldname": "patient",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"options": "Patient"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Rating",
|
||||||
|
"fieldname": "rating",
|
||||||
|
"fieldtype": "Rating"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Feedback",
|
||||||
|
"fieldname": "feedback",
|
||||||
|
"fieldtype": "Small Text"
|
||||||
|
}],
|
||||||
|
"permissions": [{
|
||||||
|
"role": "System Manager",
|
||||||
|
"read": 1
|
||||||
|
}],
|
||||||
|
"name": "Test Patient Feedback",
|
||||||
|
})
|
||||||
|
doc.insert()
|
||||||
|
return doc
|
||||||
|
else:
|
||||||
|
return frappe.get_doc("DocType", "Test Patient Feedback")
|
||||||
|
|
||||||
|
|
||||||
|
def create_doc(patient):
|
||||||
|
doc = frappe.get_doc({
|
||||||
|
"doctype": "Test Patient Feedback",
|
||||||
|
"patient": patient,
|
||||||
|
"date": getdate(),
|
||||||
|
"rating": 3,
|
||||||
|
"feedback": "Test Patient History Settings"
|
||||||
|
}).insert()
|
||||||
|
doc.submit()
|
||||||
|
|
||||||
|
return doc
|
||||||
Loading…
x
Reference in New Issue
Block a user