Procházet zdrojové kódy

test: use data fieldtype instead of int in `test_fieldname_starting_with_int` (#16771)

* fix(test): use data fieldtype instead of int

postgres doesn't allow using like operator on int/any non-text/varchar column
ref: https://github.com/frappe/frappe/issues/16722

* minor: updated test_fieldname_starting_with_int with child table filters
version-14
Ritwik Puri před 3 roky
committed by GitHub
rodič
revize
d1423f1517
V databázi nebyl nalezen žádný známý klíč pro tento podpis ID GPG klíče: 4AEE18F83AFDEB23
1 změnil soubory, kde provedl 33 přidání a 3 odebrání
  1. +33
    -3
      frappe/tests/test_db_query.py

+ 33
- 3
frappe/tests/test_db_query.py Zobrazit soubor

@@ -639,23 +639,53 @@ class TestReportview(unittest.TestCase):
def test_fieldname_starting_with_int(self): def test_fieldname_starting_with_int(self):
from frappe.core.doctype.doctype.test_doctype import new_doctype from frappe.core.doctype.doctype.test_doctype import new_doctype


frappe.delete_doc_if_exists("DocType", "dt_with_int_named_fieldname")
frappe.delete_doc_if_exists("DocType", "table_dt")

table_dt = new_doctype(
"table_dt", istable=1, fields=[{"label": "1field", "fieldname": "2field", "fieldtype": "Data"}]
).insert()

dt = new_doctype( dt = new_doctype(
"dt_with_int_named_fieldname", "dt_with_int_named_fieldname",
fields=[{"label": "1field", "fieldname": "1field", "fieldtype": "Int"}],
fields=[
{"label": "1field", "fieldname": "1field", "fieldtype": "Data"},
{
"label": "2table_field",
"fieldname": "2table_field",
"fieldtype": "Table",
"options": table_dt.name,
},
],
).insert(ignore_permissions=True) ).insert(ignore_permissions=True)


frappe.get_doc({"doctype": "dt_with_int_named_fieldname", "1field": 10}).insert(
dt_data = frappe.get_doc({"doctype": "dt_with_int_named_fieldname", "1field": "10"}).insert(
ignore_permissions=True ignore_permissions=True
) )


query = DatabaseQuery("dt_with_int_named_fieldname") query = DatabaseQuery("dt_with_int_named_fieldname")
self.assertTrue(query.execute(filters={"1field": 10}))
self.assertTrue(query.execute(filters={"1field": "10"}))
self.assertTrue(query.execute(filters={"1field": ["like", "1%"]})) self.assertTrue(query.execute(filters={"1field": ["like", "1%"]}))
self.assertTrue(query.execute(filters={"1field": ["in", "1,2,10"]})) self.assertTrue(query.execute(filters={"1field": ["in", "1,2,10"]}))
self.assertTrue(query.execute(filters={"1field": ["is", "set"]})) self.assertTrue(query.execute(filters={"1field": ["is", "set"]}))
self.assertFalse(query.execute(filters={"1field": ["not like", "1%"]})) self.assertFalse(query.execute(filters={"1field": ["not like", "1%"]}))
self.assertTrue(query.execute(filters=[["table_dt", "2field", "is", "not set"]]))

frappe.get_doc(
{
"doctype": table_dt.name,
"2field": "10",
"parent": dt_data.name,
"parenttype": dt_data.doctype,
"parentfield": "2table_field",
}
).insert(ignore_permissions=True)

self.assertTrue(query.execute(filters=[["table_dt", "2field", "is", "set"]]))


# cleanup
dt.delete() dt.delete()
table_dt.delete()




def add_child_table_to_blog_post(): def add_child_table_to_blog_post():


Načítá se…
Zrušit
Uložit