test(db): Add tests for untested db methods

This commit is contained in:
Gavin D'souza 2022-07-22 13:30:47 +05:30
parent 2bef29bb46
commit d1fbab1c45

View file

@ -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")