Fixed the case where a folder has allow_discussion=False and
conversation.enabled() on a document in this folder returned False instead of True because of allow_discussion acquisition. svn path=/plone.app.discussion/trunk/; revision=38835
This commit is contained in:
@@ -215,6 +215,31 @@ class ConversationTest(PloneTestCase):
|
||||
self.assertEquals(portal_discussion.isDiscussionAllowedFor(self.portal.doc1), True)
|
||||
self.assertEquals(getattr(self.portal.doc1, 'allow_discussion', None), True)
|
||||
|
||||
def test_comments_enabled_on_doc_in_subfolder(self):
|
||||
typetool = self.portal.portal_types
|
||||
typetool.constructContent('Folder', self.portal, 'folder1')
|
||||
typetool.constructContent('Document', self.portal.folder1, 'doc2')
|
||||
|
||||
folder = self.portal.folder1
|
||||
folder.allowDiscussion(False)
|
||||
self.assertFalse(hasattr(aq_base(folder), 'allow_discussion'))
|
||||
folder.allowDiscussion(True)
|
||||
self.assertTrue(aq_base(folder).allow_discussion)
|
||||
folder.allowDiscussion(False)
|
||||
self.assertFalse(aq_base(folder).allow_discussion)
|
||||
|
||||
doc = self.portal.folder1.doc2
|
||||
conversation = IConversation(doc)
|
||||
self.assertEquals(conversation.enabled(), False)
|
||||
|
||||
# We have to allow discussion on Document content type, since
|
||||
# otherwise allow_discussion will always return False
|
||||
portal_types = getToolByName(self.portal, 'portal_types')
|
||||
document_fti = getattr(portal_types, 'Document')
|
||||
document_fti.manage_changeProperties(allow_discussion = True)
|
||||
|
||||
self.assertEquals(conversation.enabled(), True)
|
||||
|
||||
def test_disable_commenting_globally(self):
|
||||
|
||||
# Create a conversation.
|
||||
@@ -814,4 +839,4 @@ class RepliesTest(PloneTestCase):
|
||||
self.assertEquals(len(replies_to_comment2), 1)
|
||||
|
||||
def test_suite():
|
||||
return unittest.defaultTestLoader.loadTestsFromName(__name__)
|
||||
return unittest.defaultTestLoader.loadTestsFromName(__name__)
|
||||
|
||||
Reference in New Issue
Block a user