seitime-frappe/frappe/tests/test_dynamic_links.py
Suraj Shetty c0c5b2ebdd
style: format all python files using black (#16453)
Co-authored-by: Frappe Bot <developers@frappe.io>
2022-04-12 10:59:25 +05:30

83 lines
2 KiB
Python

# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: MIT. See LICENSE
import unittest
import frappe
class TestDynamicLinks(unittest.TestCase):
def setUp(self):
frappe.db.delete("Email Unsubscribe")
def test_delete_normal(self):
event = frappe.get_doc(
{
"doctype": "Event",
"subject": "test-for-delete",
"starts_on": "2014-01-01",
"event_type": "Public",
}
).insert()
unsub = frappe.get_doc(
{
"doctype": "Email Unsubscribe",
"email": "test@example.com",
"reference_doctype": event.doctype,
"reference_name": event.name,
}
).insert()
event.delete()
self.assertFalse(frappe.db.exists("Email Unsubscribe", unsub.name))
def test_delete_with_comment(self):
event = frappe.get_doc(
{
"doctype": "Event",
"subject": "test-for-delete-1",
"starts_on": "2014-01-01",
"event_type": "Public",
}
).insert()
event.add_comment("Comment", "test")
self.assertTrue(
frappe.get_all("Comment", filters={"reference_doctype": "Event", "reference_name": event.name})
)
event.delete()
self.assertFalse(
frappe.get_all("Comment", filters={"reference_doctype": "Event", "reference_name": event.name})
)
def test_custom_fields(self):
from frappe.utils.testutils import add_custom_field, clear_custom_fields
add_custom_field("Event", "test_ref_doc", "Link", "DocType")
add_custom_field("Event", "test_ref_name", "Dynamic Link", "test_ref_doc")
unsub = frappe.get_doc(
{"doctype": "Email Unsubscribe", "email": "test@example.com", "global_unsubscribe": 1}
).insert()
event = frappe.get_doc(
{
"doctype": "Event",
"subject": "test-for-delete-2",
"starts_on": "2014-01-01",
"event_type": "Public",
"test_ref_doc": unsub.doctype,
"test_ref_name": unsub.name,
}
).insert()
self.assertRaises(frappe.LinkExistsError, unsub.delete)
event.test_ref_doc = None
event.test_ref_name = None
event.save()
unsub.delete()
clear_custom_fields("Event")