test: test_get_count

This commit is contained in:
Gavin D'souza 2023-02-03 20:53:53 +05:30
parent da3b98c91a
commit c4544cb37e

View file

@ -986,6 +986,46 @@ class TestDBQuery(FrappeTestCase):
class TestReportView(FrappeTestCase):
def test_get_count(self):
frappe.local.request = frappe._dict()
frappe.local.request.method = "GET"
# test with data check field
frappe.local.form_dict = frappe._dict(
{
"doctype": "DocType",
"filters": [["DocType", "show_title_field_in_link", "=", 1]],
"fields": [],
"distinct": "false",
}
)
list_filter_response = execute_cmd("frappe.desk.reportview.get_count")
frappe.local.form_dict = frappe._dict(
{"doctype": "DocType", "filters": {"show_title_field_in_link": 1}, "distinct": "true"}
)
dict_filter_response = execute_cmd("frappe.desk.reportview.get_count")
self.assertIsInstance(list_filter_response, int)
self.assertEqual(list_filter_response, dict_filter_response)
# test with child table filter
frappe.local.form_dict = frappe._dict(
{
"doctype": "DocType",
"filters": [["DocField", "fieldtype", "=", "Data"]],
"fields": [],
"distinct": "true",
}
)
child_filter_response = execute_cmd("frappe.desk.reportview.get_count")
current_value = frappe.db.sql(
# the below query is equivalent to the one in reportview.get_count
"select distinct count(distinct `tabDocType`.name) as total_count"
" from `tabDocType` left join `tabDocField`"
" on (`tabDocField`.parenttype = 'DocType' and `tabDocField`.parent = `tabDocType`.name)"
" where `tabDocField`.`fieldtype` = 'Data'"
)[0][0]
self.assertEqual(child_filter_response, current_value)
def test_reportview_get(self):
user = frappe.get_doc("User", "test@example.com")
add_child_table_to_blog_post()