diff --git a/frappe/tests/test_db.py b/frappe/tests/test_db.py index b1ff0f81df..bb6db76bf5 100644 --- a/frappe/tests/test_db.py +++ b/frappe/tests/test_db.py @@ -9,9 +9,11 @@ from random import choice from unittest.mock import patch import frappe +from frappe.core.utils import find from frappe.custom.doctype.custom_field.custom_field import create_custom_field from frappe.database import savepoint from frappe.database.database import Database +from frappe.database.utils import FallBackDateTimeStr from frappe.query_builder import Field from frappe.query_builder.functions import Concat_ws from frappe.tests.test_query_builder import db_type_is, run_only_if @@ -20,6 +22,20 @@ from frappe.utils.testutils import clear_custom_fields class TestDB(unittest.TestCase): + def test_datetime_format(self): + now_str = now() + self.assertEqual(frappe.db.format_datetime(None), FallBackDateTimeStr) + self.assertEqual(frappe.db.format_datetime(now_str), now_str) + + @run_only_if(db_type_is.MARIADB) + def test_get_column_type(self): + desc_data = frappe.db.sql("desc `tabUser`", as_dict=1) + user_name_type = find(desc_data, lambda x: x["Field"] == "name")["Type"] + self.assertEqual(frappe.db.get_column_type("User", "name"), user_name_type) + + def test_get_database_size(self): + self.assertIsInstance(frappe.db.get_database_size(), (float, int)) + def test_get_value(self): self.assertEqual(frappe.db.get_value("User", {"name": ["=", "Administrator"]}), "Administrator") self.assertEqual(frappe.db.get_value("User", {"name": ["like", "Admin%"]}), "Administrator")