Ver código fonte

test: db_set does not query for new doc

version-14
Ankush Menat 2 anos atrás
committed by Ankush Menat
pai
commit
a5ad248802
2 arquivos alterados com 12 adições e 4 exclusões
  1. +6
    -0
      frappe/tests/test_document.py
  2. +6
    -4
      frappe/tests/utils.py

+ 6
- 0
frappe/tests/test_document.py Ver arquivo

@@ -163,6 +163,12 @@ class TestDocument(FrappeTestCase):
self.assertRaises(frappe.ValidationError, d.run_method, "validate")
self.assertRaises(frappe.ValidationError, d.save)

def test_db_set_no_query_on_new_docs(self):
user = frappe.new_doc("User")
user.db_set("user_type", "Magical Wizard")
with self.assertQueryCount(0):
user.db_set("user_type", "Magical Wizard")

def test_update_after_submit(self):
d = self.test_insert()
d.starts_on = "2014-09-09"


+ 6
- 4
frappe/tests/utils.py Ver arquivo

@@ -69,16 +69,18 @@ class FrappeTestCase(unittest.TestCase):

@contextmanager
def assertQueryCount(self, count):
queries = []

def _sql_with_count(*args, **kwargs):
frappe.db.sql_query_count += 1
return orig_sql(*args, **kwargs)
ret = orig_sql(*args, **kwargs)
queries.append(frappe.db.last_query)
return ret

try:
orig_sql = frappe.db.sql
frappe.db.sql_query_count = 0
frappe.db.sql = _sql_with_count
yield
self.assertLessEqual(frappe.db.sql_query_count, count)
self.assertLessEqual(len(queries), count, msg="Queries executed: " + "\n\n".join(queries))
finally:
frappe.db.sql = orig_sql



Carregando…
Cancelar
Salvar