* Remove six for PY2 compatability since our dependencies are not, PY2 is legacy. * Removed usages of utils from future/past libraries since they are deprecated. This includes 'from __future__ ...' and 'from past...' statements. * Removed compatibility imports for PY2, switched from six imports to standard library imports. * Removed utils code blocks that handle operations depending on PY2/3 versions. * Removed 'from __future__ ...' lines from templates/code generators * Used PY3 syntaxes in place of PY2 compatible blocks. eg: metaclass
71 lines
1.9 KiB
Python
71 lines
1.9 KiB
Python
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
# MIT License. See license.txt
|
|
import frappe, unittest
|
|
|
|
class TestDynamicLinks(unittest.TestCase):
|
|
def setUp(self):
|
|
frappe.db.sql('delete from `tabEmail 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')
|