fix(tests): cleanup
This commit is contained in:
parent
b4b620e738
commit
b09beb9147
8 changed files with 44 additions and 27 deletions
|
|
@ -38,6 +38,10 @@ def evaluate_milestone(doc, event):
|
|||
return
|
||||
|
||||
# track milestones related to this doctype
|
||||
for d in frappe.cache_manager.get_doctype_map('Milestone Tracker', doc.doctype,
|
||||
dict(document_type = doc.doctype, disabled=0)):
|
||||
frappe.get_doc('Milestone Tracker', d.name).apply(doc)
|
||||
for d in get_milestone_trackers(doc.doctype):
|
||||
frappe.get_doc('Milestone Tracker', d.get('name')).apply(doc)
|
||||
|
||||
def get_milestone_trackers(doctype):
|
||||
return frappe.cache_manager.get_doctype_map('Milestone Tracker', doctype,
|
||||
dict(document_type = doctype, disabled=0))
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,17 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
import frappe.cache_manager
|
||||
import unittest
|
||||
|
||||
from .milestone_tracker import get_milestone_trackers
|
||||
|
||||
class TestMilestoneTracker(unittest.TestCase):
|
||||
def test_milestone(self):
|
||||
frappe.db.sql('delete from `tabMilestone Tracker`')
|
||||
|
||||
frappe.cache().delete_key('milestone_tracker_map')
|
||||
|
||||
frappe.get_doc(dict(
|
||||
doctype = 'Milestone Tracker',
|
||||
document_type = 'ToDo',
|
||||
|
|
@ -17,7 +23,8 @@ class TestMilestoneTracker(unittest.TestCase):
|
|||
|
||||
todo = frappe.get_doc(dict(
|
||||
doctype = 'ToDo',
|
||||
description = 'test milestone'
|
||||
description = 'test milestone',
|
||||
status = 'Open'
|
||||
)).insert()
|
||||
|
||||
milestones = frappe.get_all('Milestone',
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ class Database(object):
|
|||
|
||||
def log_query(self, query, values, debug, explain):
|
||||
# for debugging in tests
|
||||
if frappe.cache().get_value('flag_print_sql'):
|
||||
if frappe.conf.get('allow_tests') and frappe.cache().get_value('flag_print_sql'):
|
||||
print(self.mogrify(query, values))
|
||||
|
||||
# debug
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class EventUpdateLog(Document):
|
|||
enqueue_after_commit=True)
|
||||
|
||||
def notify_consumers(doc, event):
|
||||
'''called via triggers'''
|
||||
'''called via hooks'''
|
||||
# make event update log for doctypes having event consumers
|
||||
if frappe.flags.in_install or frappe.flags.in_migrate:
|
||||
return
|
||||
|
|
@ -28,14 +28,19 @@ def notify_consumers(doc, event):
|
|||
|
||||
if consumers:
|
||||
doc_before_save = doc.get_doc_before_save()
|
||||
if doc.flags.update_log_for_doc_creation:
|
||||
make_event_update_log(doc, update_type='Create')
|
||||
doc.flags.update_log_for_doc_creation = False
|
||||
|
||||
if event=='after_insert':
|
||||
doc.flags.event_update_log = make_event_update_log(doc, update_type='Create')
|
||||
elif event=='on_trash':
|
||||
make_event_update_log(doc, update_type='Delete')
|
||||
else:
|
||||
diff = get_update(doc_before_save, doc)
|
||||
if diff:
|
||||
doc.diff = diff
|
||||
make_event_update_log(doc, update_type='Update')
|
||||
# on_update
|
||||
# called after saving
|
||||
if not doc.flags.event_update_log: # if not already inserted
|
||||
diff = get_update(doc_before_save, doc)
|
||||
if diff:
|
||||
doc.diff = diff
|
||||
make_event_update_log(doc, update_type='Update')
|
||||
|
||||
def check_doctype_has_consumers(doctype):
|
||||
"""Check if doctype has event consumers for event streaming"""
|
||||
|
|
@ -88,7 +93,7 @@ def make_event_update_log(doc, update_type):
|
|||
data = frappe.as_json(doc) if not doc.get('diff') else frappe.as_json(doc.diff)
|
||||
else:
|
||||
data = None
|
||||
log_doc = frappe.get_doc({
|
||||
return frappe.get_doc({
|
||||
'doctype': 'Event Update Log',
|
||||
'update_type': update_type,
|
||||
'ref_doctype': doc.doctype,
|
||||
|
|
|
|||
|
|
@ -127,6 +127,9 @@ standard_queries = {
|
|||
|
||||
doc_events = {
|
||||
"*": {
|
||||
"after_insert": [
|
||||
"frappe.event_streaming.doctype.event_update_log.event_update_log.notify_consumers"
|
||||
],
|
||||
"on_update": [
|
||||
"frappe.desk.notifications.clear_doctype_notifications",
|
||||
"frappe.core.doctype.activity_log.feed.update_feed",
|
||||
|
|
@ -142,7 +145,8 @@ doc_events = {
|
|||
],
|
||||
"on_trash": [
|
||||
"frappe.desk.notifications.clear_doctype_notifications",
|
||||
"frappe.workflow.doctype.workflow_action.workflow_action.process_workflow_actions"
|
||||
"frappe.workflow.doctype.workflow_action.workflow_action.process_workflow_actions",
|
||||
"frappe.event_streaming.doctype.event_update_log.event_update_log.notify_consumers"
|
||||
],
|
||||
"on_change": [
|
||||
"frappe.social.doctype.energy_point_rule.energy_point_rule.process_energy_points"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ from frappe.model.naming import revert_series_if_last
|
|||
from frappe.utils.global_search import delete_for_document
|
||||
from frappe.desk.doctype.tag.tag import delete_tags_for_document
|
||||
from frappe.exceptions import FileNotFoundError
|
||||
from frappe.model.document import make_event_update_log, check_doctype_has_consumers
|
||||
|
||||
doctypes_to_skip = ("Communication", "ToDo", "DocShare", "Email Unsubscribe", "Activity Log", "File",
|
||||
"Version", "Document Follow", "Comment" , "View Log", "Tag Link", "Notification Log", "Email Queue")
|
||||
|
|
@ -121,10 +120,6 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa
|
|||
# delete tag link entry
|
||||
delete_tags_for_document(doc)
|
||||
|
||||
# update log if doctype has event consumers
|
||||
if not frappe.flags.in_install and not frappe.flags.in_migrate and check_doctype_has_consumers(doc.doctype):
|
||||
make_event_update_log(doc, update_type='Delete')
|
||||
|
||||
if doc and not for_reload:
|
||||
add_to_deleted_document(doc)
|
||||
if not frappe.flags.in_patch:
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from __future__ import unicode_literals
|
|||
import frappe
|
||||
from frappe import _
|
||||
import frappe.cache_manager
|
||||
from frappe.model import log_types
|
||||
from frappe.model.document import Document
|
||||
from frappe.social.doctype.energy_point_settings.energy_point_settings import is_energy_point_enabled
|
||||
from frappe.social.doctype.energy_point_log.energy_point_log import \
|
||||
|
|
@ -85,7 +86,8 @@ def process_energy_points(doc, state):
|
|||
or frappe.flags.in_install
|
||||
or frappe.flags.in_migrate
|
||||
or frappe.flags.in_import
|
||||
or frappe.flags.in_setup_wizard):
|
||||
or frappe.flags.in_setup_wizard
|
||||
or doc.doctype in log_types):
|
||||
return
|
||||
|
||||
if not is_energy_point_enabled():
|
||||
|
|
|
|||
|
|
@ -13,17 +13,15 @@ class TestWorkflow(unittest.TestCase):
|
|||
@classmethod
|
||||
def setUpClass(cls):
|
||||
make_test_records("User")
|
||||
frappe.print_sql(True)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
frappe.print_sql(False)
|
||||
|
||||
def setUp(self):
|
||||
if not getattr(self, 'workflow', None):
|
||||
self.workflow = create_todo_workflow()
|
||||
frappe.set_user('Administrator')
|
||||
|
||||
def tearDown(self):
|
||||
self.workflow.db_set('is_active', 0)
|
||||
|
||||
def test_default_condition(self):
|
||||
'''test default condition is set'''
|
||||
todo = create_new_todo()
|
||||
|
|
@ -128,7 +126,9 @@ class TestWorkflow(unittest.TestCase):
|
|||
|
||||
def create_todo_workflow():
|
||||
if frappe.db.exists('Workflow', 'Test ToDo'):
|
||||
return frappe.get_doc('Workflow', 'Test ToDo').save(ignore_permissions=True)
|
||||
workflow = frappe.get_doc('Workflow', 'Test ToDo').save(ignore_permissions=True)
|
||||
workflow.db_set('is_active', 1)
|
||||
return workflow
|
||||
else:
|
||||
frappe.get_doc(dict(doctype='Role',
|
||||
role_name='Test Approver')).insert(ignore_if_duplicate=True)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue