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')
|
||||
if entry.get('fieldtype') == 'Table' and doc.get(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:
|
||||
if doc.get(fieldname):
|
||||
formatted_value = format_value(doc.get(fieldname), meta.get_field(fieldname), doc)
|
||||
subject += frappe.bold(_(entry.get('label')) + ': ') + cstr(formatted_value)
|
||||
|
||||
subject += '<br>'
|
||||
subject += frappe.bold(_(entry.get('label')) + ': ') + cstr(formatted_value) + '<br>'
|
||||
|
||||
return subject
|
||||
|
||||
|
@ -3,8 +3,102 @@
|
||||
# See license.txt
|
||||
from __future__ import unicode_literals
|
||||
|
||||
# import frappe
|
||||
import frappe
|
||||
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):
|
||||
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