From 58f7b02c307db854386569612c87045ca5feb52c Mon Sep 17 00:00:00 2001 From: cpdeethree Date: Fri, 7 Jan 2022 18:06:53 -0600 Subject: [PATCH] fix: add test_for prepare_select_args --- frappe/tests/test_db_query.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/frappe/tests/test_db_query.py b/frappe/tests/test_db_query.py index 48e97d5bb0..5cd6690209 100644 --- a/frappe/tests/test_db_query.py +++ b/frappe/tests/test_db_query.py @@ -1,6 +1,8 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: MIT. See LICENSE -import frappe, unittest +import frappe +import datetime +import unittest from frappe.model.db_query import DatabaseQuery from frappe.desk.reportview import get_filters_cond @@ -380,6 +382,22 @@ class TestReportview(unittest.TestCase): owners = DatabaseQuery("DocType").execute(filters={"name": "DocType"}, pluck="owner") self.assertEqual(owners, ["Administrator"]) + def test_prepare_select_args(self): + # frappe.get_all inserts modified field into order_by clause + # test to make sure this is inserted into select field when postgres + doctypes = frappe.get_all("DocType", + filters={"docstatus": 0, "document_type": ("!=", "")}, + group_by="document_type", + fields=["document_type", "sum(is_submittable) as is_submittable"], + limit=1, + as_list=True, + ) + if frappe.conf.db_type == "mariadb": + self.assertTrue(len(doctypes[0]) == 2) + else: + self.assertTrue(len(doctypes[0]) == 3) + self.assertTrue(isinstance(doctypes[0][2], datetime.datetime)) + def test_column_comparison(self): """Test DatabaseQuery.execute to test column comparison """