seitime-frappe/frappe/tests/test_model_utils.py
2022-08-17 16:39:42 +05:30

27 lines
773 B
Python

import frappe
from frappe.model.utils import get_fetch_values
from frappe.tests.utils import FrappeTestCase
class TestModelUtils(FrappeTestCase):
def test_get_fetch_values(self):
doctype = "ToDo"
# no fields to fetch
self.assertEqual(get_fetch_values(doctype, "role", "System Manager"), {})
# no value
self.assertEqual(get_fetch_values(doctype, "assigned_by", None), {"assigned_by_full_name": None})
# no db values
self.assertEqual(
get_fetch_values(doctype, "assigned_by", "~not-a-user~"), {"assigned_by_full_name": None}
)
# valid db values
user = "test@example.com"
full_name = frappe.db.get_value("User", user, "full_name")
self.assertEqual(
get_fetch_values(doctype, "assigned_by", user), {"assigned_by_full_name": full_name}
)