From 0bc2e6e9c808126feee66b6da7b592fe451ab7ae Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Mon, 3 Aug 2020 10:44:51 +0530 Subject: [PATCH 01/16] chore: Run test in verbose mode --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 63895675ea..3ae844bc3a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,12 +31,12 @@ matrix: - name: "Python 3.7 MariaDB" python: 3.7 env: DB=mariadb TYPE=server - script: bench --site test_site run-tests --coverage + script: bench --site test_site --versbose run-tests --coverage - name: "Python 3.7 PostgreSQL" python: 3.7 env: DB=postgres TYPE=server - script: bench --site test_site run-tests --coverage + script: bench --site test_site --versbose run-tests --coverage - name: "Cypress" python: 3.7 From 817e90d17111b4618f4e3c44e623222e62255f51 Mon Sep 17 00:00:00 2001 From: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> Date: Mon, 3 Aug 2020 10:54:20 +0530 Subject: [PATCH 02/16] fix: Typo --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3ae844bc3a..eb35e0cca2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,12 +31,12 @@ matrix: - name: "Python 3.7 MariaDB" python: 3.7 env: DB=mariadb TYPE=server - script: bench --site test_site --versbose run-tests --coverage + script: bench --site test_site --verbose run-tests --coverage - name: "Python 3.7 PostgreSQL" python: 3.7 env: DB=postgres TYPE=server - script: bench --site test_site --versbose run-tests --coverage + script: bench --site test_site --verbose run-tests --coverage - name: "Cypress" python: 3.7 From f0729ff6a8a58239e68c5c0810becc3ec27b056e Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Mon, 3 Aug 2020 12:00:44 +0530 Subject: [PATCH 03/16] test: Reset workflow doc --- frappe/workflow/doctype/workflow/test_workflow.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index 2719bc7cf0..b8c40d4d3b 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -78,7 +78,7 @@ class TestWorkflow(unittest.TestCase): frappe.set_user('test2@example.com') doc = self.test_default_condition() - workflow_actions = frappe.get_all('Workflow Action', fields=['status']) + workflow_actions = frappe.get_all('Workflow Action', fields=['status', 'reference_name']) self.assertEqual(len(workflow_actions), 1) # test if status of workflow actions are updated on approval @@ -102,6 +102,9 @@ class TestWorkflow(unittest.TestCase): todo.reload() self.assertEqual(todo.docstatus, 1) + self.workflow.states[1].doc_status = 0 + self.workflow.save() + def test_if_workflow_set_on_action(self): self.workflow.states[1].doc_status = 1 self.workflow.save() @@ -111,6 +114,9 @@ class TestWorkflow(unittest.TestCase): self.assertEqual(todo.docstatus, 1) self.assertEqual(todo.workflow_state, 'Approved') + self.workflow.states[1].doc_status = 0 + self.workflow.save() + def create_todo_workflow(): if frappe.db.exists('Workflow', 'Test ToDo'): return frappe.get_doc('Workflow', 'Test ToDo').save(ignore_permissions=True) From 00a8edf910b4c328aeb69f674db31439e206fd54 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Mon, 3 Aug 2020 23:53:01 +0530 Subject: [PATCH 04/16] test: Make User records before executing test --- frappe/workflow/doctype/workflow/test_workflow.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index b8c40d4d3b..fc12832e57 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -5,7 +5,10 @@ from __future__ import unicode_literals import frappe import unittest from frappe.utils import random_string -from frappe.model.workflow import apply_workflow, WorkflowTransitionError, WorkflowPermissionError, get_common_transition_actions +from frappe.model.workflow import apply_workflow, WorkflowTransitionError, WorkflowPermissionError, get_common_transition_actions, get_workflow +from frappe.test_runner import make_test_records + +make_test_records("User") class TestWorkflow(unittest.TestCase): def setUp(self): From e555970485467b69cddcbc7fce990f94c722f1cc Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Mon, 3 Aug 2020 23:53:44 +0530 Subject: [PATCH 05/16] chore: Comment out possibly problematic test --- .../event_producer/test_event_producer.py | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/frappe/event_streaming/doctype/event_producer/test_event_producer.py b/frappe/event_streaming/doctype/event_producer/test_event_producer.py index 0d414f5d63..cda4ca8bf6 100644 --- a/frappe/event_streaming/doctype/event_producer/test_event_producer.py +++ b/frappe/event_streaming/doctype/event_producer/test_event_producer.py @@ -203,49 +203,49 @@ class TestEventProducer(unittest.TestCase): reset_configuration(producer_url) - def test_inner_mapping(self): - producer = get_remote_site() - event_producer = frappe.get_doc('Event Producer', producer_url) - event_producer.producer_doctypes = [] - inner_mapping = [ - { - 'local_fieldname':'role_name', - 'remote_fieldname':'title' - } - ] - inner_map = get_mapping('Role to Note Dependency Creation', 'Role', 'Note', inner_mapping) - mapping = [ - { - 'local_fieldname':'description', - 'remote_fieldname':'content', - }, - { - 'local_fieldname': 'role', - 'remote_fieldname': 'title', - 'mapping_type': 'Document', - 'mapping': inner_map, - 'remote_value_filters': json.dumps({'title': 'title'}) - } - ] - event_producer.append('producer_doctypes', { - 'ref_doctype': 'ToDo', - 'use_same_name': 1, - 'has_mapping': 1, - 'mapping': get_mapping('ToDo to Note Mapping', 'ToDo', 'Note', mapping) - }) - event_producer.save() + # def test_inner_mapping(self): + # producer = get_remote_site() + # event_producer = frappe.get_doc('Event Producer', producer_url) + # event_producer.producer_doctypes = [] + # inner_mapping = [ + # { + # 'local_fieldname':'role_name', + # 'remote_fieldname':'title' + # } + # ] + # inner_map = get_mapping('Role to Note Dependency Creation', 'Role', 'Note', inner_mapping) + # mapping = [ + # { + # 'local_fieldname':'description', + # 'remote_fieldname':'content', + # }, + # { + # 'local_fieldname': 'role', + # 'remote_fieldname': 'title', + # 'mapping_type': 'Document', + # 'mapping': inner_map, + # 'remote_value_filters': json.dumps({'title': 'title'}) + # } + # ] + # event_producer.append('producer_doctypes', { + # 'ref_doctype': 'ToDo', + # 'use_same_name': 1, + # 'has_mapping': 1, + # 'mapping': get_mapping('ToDo to Note Mapping', 'ToDo', 'Note', mapping) + # }) + # event_producer.save() - producer_note = frappe._dict(doctype='Note', title='Inner Mapping Tester', content='Test Inner Mapping') - delete_on_remote_if_exists(producer, 'Note', {'title': producer_note.title}) - producer_note = producer.insert(producer_note) - self.pull_producer_data() + # producer_note = frappe._dict(doctype='Note', title='Inner Mapping Tester', content='Test Inner Mapping') + # delete_on_remote_if_exists(producer, 'Note', {'title': producer_note.title}) + # producer_note = producer.insert(producer_note) + # self.pull_producer_data() - #check dependency inserted - self.assertTrue(frappe.db.exists('Role', {'role_name': producer_note.title})) - #check doc inserted - self.assertTrue(frappe.db.exists('ToDo', {'description': producer_note.content})) + # #check dependency inserted + # self.assertTrue(frappe.db.exists('Role', {'role_name': producer_note.title})) + # #check doc inserted + # self.assertTrue(frappe.db.exists('ToDo', {'description': producer_note.content})) - reset_configuration(producer_url) + # reset_configuration(producer_url) def insert_into_producer(producer, description): From 88b68c6cf51061b4b1a37b93b5426279fc1dfe9d Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 4 Aug 2020 00:11:48 +0530 Subject: [PATCH 06/16] chore: Remove unwanted changes --- .travis.yml | 4 ++-- frappe/workflow/doctype/workflow/test_workflow.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index eb35e0cca2..63895675ea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,12 +31,12 @@ matrix: - name: "Python 3.7 MariaDB" python: 3.7 env: DB=mariadb TYPE=server - script: bench --site test_site --verbose run-tests --coverage + script: bench --site test_site run-tests --coverage - name: "Python 3.7 PostgreSQL" python: 3.7 env: DB=postgres TYPE=server - script: bench --site test_site --verbose run-tests --coverage + script: bench --site test_site run-tests --coverage - name: "Cypress" python: 3.7 diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index fc12832e57..253f95dab7 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import frappe import unittest from frappe.utils import random_string -from frappe.model.workflow import apply_workflow, WorkflowTransitionError, WorkflowPermissionError, get_common_transition_actions, get_workflow +from frappe.model.workflow import apply_workflow, WorkflowTransitionError, WorkflowPermissionError, get_common_transition_actions from frappe.test_runner import make_test_records make_test_records("User") From 89dfd82134d02d1a88444d02f858be820371129b Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 4 Aug 2020 00:36:42 +0530 Subject: [PATCH 07/16] chore: Add debug statement - Uncomment innocent test --- .../event_producer/test_event_producer.py | 80 +++++++++---------- .../doctype/workflow/test_workflow.py | 3 + 2 files changed, 43 insertions(+), 40 deletions(-) diff --git a/frappe/event_streaming/doctype/event_producer/test_event_producer.py b/frappe/event_streaming/doctype/event_producer/test_event_producer.py index cda4ca8bf6..0d414f5d63 100644 --- a/frappe/event_streaming/doctype/event_producer/test_event_producer.py +++ b/frappe/event_streaming/doctype/event_producer/test_event_producer.py @@ -203,49 +203,49 @@ class TestEventProducer(unittest.TestCase): reset_configuration(producer_url) - # def test_inner_mapping(self): - # producer = get_remote_site() - # event_producer = frappe.get_doc('Event Producer', producer_url) - # event_producer.producer_doctypes = [] - # inner_mapping = [ - # { - # 'local_fieldname':'role_name', - # 'remote_fieldname':'title' - # } - # ] - # inner_map = get_mapping('Role to Note Dependency Creation', 'Role', 'Note', inner_mapping) - # mapping = [ - # { - # 'local_fieldname':'description', - # 'remote_fieldname':'content', - # }, - # { - # 'local_fieldname': 'role', - # 'remote_fieldname': 'title', - # 'mapping_type': 'Document', - # 'mapping': inner_map, - # 'remote_value_filters': json.dumps({'title': 'title'}) - # } - # ] - # event_producer.append('producer_doctypes', { - # 'ref_doctype': 'ToDo', - # 'use_same_name': 1, - # 'has_mapping': 1, - # 'mapping': get_mapping('ToDo to Note Mapping', 'ToDo', 'Note', mapping) - # }) - # event_producer.save() + def test_inner_mapping(self): + producer = get_remote_site() + event_producer = frappe.get_doc('Event Producer', producer_url) + event_producer.producer_doctypes = [] + inner_mapping = [ + { + 'local_fieldname':'role_name', + 'remote_fieldname':'title' + } + ] + inner_map = get_mapping('Role to Note Dependency Creation', 'Role', 'Note', inner_mapping) + mapping = [ + { + 'local_fieldname':'description', + 'remote_fieldname':'content', + }, + { + 'local_fieldname': 'role', + 'remote_fieldname': 'title', + 'mapping_type': 'Document', + 'mapping': inner_map, + 'remote_value_filters': json.dumps({'title': 'title'}) + } + ] + event_producer.append('producer_doctypes', { + 'ref_doctype': 'ToDo', + 'use_same_name': 1, + 'has_mapping': 1, + 'mapping': get_mapping('ToDo to Note Mapping', 'ToDo', 'Note', mapping) + }) + event_producer.save() - # producer_note = frappe._dict(doctype='Note', title='Inner Mapping Tester', content='Test Inner Mapping') - # delete_on_remote_if_exists(producer, 'Note', {'title': producer_note.title}) - # producer_note = producer.insert(producer_note) - # self.pull_producer_data() + producer_note = frappe._dict(doctype='Note', title='Inner Mapping Tester', content='Test Inner Mapping') + delete_on_remote_if_exists(producer, 'Note', {'title': producer_note.title}) + producer_note = producer.insert(producer_note) + self.pull_producer_data() - # #check dependency inserted - # self.assertTrue(frappe.db.exists('Role', {'role_name': producer_note.title})) - # #check doc inserted - # self.assertTrue(frappe.db.exists('ToDo', {'description': producer_note.content})) + #check dependency inserted + self.assertTrue(frappe.db.exists('Role', {'role_name': producer_note.title})) + #check doc inserted + self.assertTrue(frappe.db.exists('ToDo', {'description': producer_note.content})) - # reset_configuration(producer_url) + reset_configuration(producer_url) def insert_into_producer(producer, description): diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index 253f95dab7..f94193fab9 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -30,6 +30,9 @@ class TestWorkflow(unittest.TestCase): def test_approve(self, doc=None): '''test simple workflow''' todo = doc or self.test_default_condition() + print(frappe.db.sql("select name from `tabRole`")) + print('------------') + print(frappe.get_roles(), frappe.session.user) apply_workflow(todo, 'Approve') # default condition is set From 6e9169a0aadc6b05af83432293297220e633631d Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 4 Aug 2020 10:12:41 +0530 Subject: [PATCH 08/16] test: Remove debug statements & clear-cache --- frappe/workflow/doctype/workflow/test_workflow.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index f94193fab9..fb42e6fd6e 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -30,9 +30,6 @@ class TestWorkflow(unittest.TestCase): def test_approve(self, doc=None): '''test simple workflow''' todo = doc or self.test_default_condition() - print(frappe.db.sql("select name from `tabRole`")) - print('------------') - print(frappe.get_roles(), frappe.session.user) apply_workflow(todo, 'Approve') # default condition is set @@ -129,6 +126,7 @@ def create_todo_workflow(): else: frappe.get_doc(dict(doctype='Role', role_name='Test Approver')).insert(ignore_if_duplicate=True) + frappe.cache().hdel('roles', 'Administrator') workflow = frappe.new_doc('Workflow') workflow.workflow_name = 'Test ToDo' workflow.document_type = 'ToDo' From 744a9413fdc7ffee3ac26883add9a950c3f0ab19 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 4 Aug 2020 10:36:16 +0530 Subject: [PATCH 09/16] fix: Use common function to get_roles --- frappe/__init__.py | 6 +----- frappe/workflow/doctype/workflow/test_workflow.py | 1 - 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index d644d2a473..f91317584d 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -437,11 +437,7 @@ def get_roles(username=None): if not local.session: return ["Guest"] - if username: - import frappe.permissions - return frappe.permissions.get_roles(username) - else: - return get_user().get_roles() + return frappe.permissions.get_roles(username or local.session.user) def get_request_header(key, default=None): """Return HTTP request header. diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index fb42e6fd6e..253f95dab7 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -126,7 +126,6 @@ def create_todo_workflow(): else: frappe.get_doc(dict(doctype='Role', role_name='Test Approver')).insert(ignore_if_duplicate=True) - frappe.cache().hdel('roles', 'Administrator') workflow = frappe.new_doc('Workflow') workflow.workflow_name = 'Test ToDo' workflow.document_type = 'ToDo' From 3c3b1037eaf9b7e92a52dd7c391d18f969d06102 Mon Sep 17 00:00:00 2001 From: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> Date: Tue, 4 Aug 2020 10:44:45 +0530 Subject: [PATCH 10/16] fix: Import frappe.permissions --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index f91317584d..31ce00e440 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -436,7 +436,7 @@ def get_roles(username=None): """Returns roles of current user.""" if not local.session: return ["Guest"] - + import frappe.permissions return frappe.permissions.get_roles(username or local.session.user) def get_request_header(key, default=None): From 86a9ceb29b93a0df1db233bb461adbcd0b005739 Mon Sep 17 00:00:00 2001 From: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> Date: Tue, 4 Aug 2020 11:16:18 +0530 Subject: [PATCH 11/16] test: Clear role cache --- frappe/workflow/doctype/workflow/test_workflow.py | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index 253f95dab7..d7f7939d3d 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -126,6 +126,7 @@ def create_todo_workflow(): else: frappe.get_doc(dict(doctype='Role', role_name='Test Approver')).insert(ignore_if_duplicate=True) + frappe.cache().hdel('roles', frappe.session.user) workflow = frappe.new_doc('Workflow') workflow.workflow_name = 'Test ToDo' workflow.document_type = 'ToDo' From 4f37f9a4528ba50b82f2000a4381c8ff813ff138 Mon Sep 17 00:00:00 2001 From: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> Date: Thu, 6 Aug 2020 09:33:39 +0530 Subject: [PATCH 12/16] test: Try committing after Role creation --- frappe/workflow/doctype/workflow/test_workflow.py | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index d7f7939d3d..84adc3a096 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -126,6 +126,7 @@ def create_todo_workflow(): else: frappe.get_doc(dict(doctype='Role', role_name='Test Approver')).insert(ignore_if_duplicate=True) + frappe.db.commit() frappe.cache().hdel('roles', frappe.session.user) workflow = frappe.new_doc('Workflow') workflow.workflow_name = 'Test ToDo' From 4a331016319471e07a2fabac7312bcb8347176b2 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Sat, 8 Aug 2020 19:47:39 +0530 Subject: [PATCH 13/16] fix: Check if frappe.local has "request" to avoid attribute error --- frappe/auth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/auth.py b/frappe/auth.py index 64fea36748..998e97fe24 100644 --- a/frappe/auth.py +++ b/frappe/auth.py @@ -338,7 +338,7 @@ class CookieManager: self.set_cookie("country", frappe.session.session_country) def set_cookie(self, key, value, expires=None, secure=False, httponly=False, samesite="Lax"): - if not secure: + if not secure and hasattr(frappe.local, 'request'): secure = frappe.local.request.scheme == "https" self.cookies[key] = { "value": value, From 52d6925c49c7acee15189fcde58b92a55a17f97c Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Sat, 8 Aug 2020 19:47:54 +0530 Subject: [PATCH 14/16] test: Fallback to site URL if host_name is none --- .../doctype/data_migration_run/test_data_migration_run.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/data_migration/doctype/data_migration_run/test_data_migration_run.py b/frappe/data_migration/doctype/data_migration_run/test_data_migration_run.py index ba4a255b97..c6c3ea138c 100644 --- a/frappe/data_migration/doctype/data_migration_run/test_data_migration_run.py +++ b/frappe/data_migration/doctype/data_migration_run/test_data_migration_run.py @@ -108,7 +108,7 @@ def create_plan(): 'connector_name': 'Local Connector', 'connector_type': 'Frappe', # connect to same host. - 'hostname': frappe.conf.host_name, + 'hostname': frappe.conf.host_name or frappe.utils.get_site_url(frappe.local.site), 'username': 'Administrator', - 'password': 'admin' + 'password': frappe.conf.get("admin_password") or 'admin' }).insert(ignore_if_duplicate=True) From 7d8695c7d348155ab337619df1a208ffc3e6ec76 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Sat, 8 Aug 2020 23:46:45 +0530 Subject: [PATCH 15/16] fix: Provide fallback array for test_mails to avoid unexpected trace in travis --- frappe/email/doctype/email_account/email_account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/email/doctype/email_account/email_account.py b/frappe/email/doctype/email_account/email_account.py index cf8c6e80c6..29cd890bf1 100755 --- a/frappe/email/doctype/email_account/email_account.py +++ b/frappe/email/doctype/email_account/email_account.py @@ -251,7 +251,7 @@ class EmailAccount(Document): email_server = None if frappe.local.flags.in_test: - incoming_mails = test_mails + incoming_mails = test_mails or [] else: email_sync_rule = self.build_email_sync_rule() From 0919dbeccd8c7367f0a26e2af3ebf75b22814f9a Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Sun, 9 Aug 2020 00:06:25 +0530 Subject: [PATCH 16/16] test: Manually delete jobs instead of deleting job type - This removes unwanted traceback of "Scheduled Job Type" not found while running tests --- frappe/tests/test_scheduler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/tests/test_scheduler.py b/frappe/tests/test_scheduler.py index e554fd23be..30818e6f17 100644 --- a/frappe/tests/test_scheduler.py +++ b/frappe/tests/test_scheduler.py @@ -49,7 +49,7 @@ class TestScheduler(TestCase): # 2nd job not loaded self.assertFalse(job.enqueue()) - job.delete() + frappe.db.sql('DELETE FROM `tabScheduled Job Log` WHERE `scheduled_job_type`=%s', job.name) def test_is_dormant(self): self.assertTrue(is_dormant(check_time= get_datetime('2100-01-01 00:00:00')))