Don't add the annotation unless a comment is actually being added.
Fixes #11370. svn path=/plone.app.discussion/trunk/; revision=48829
This commit is contained in:
@@ -5,6 +5,7 @@ import unittest
|
||||
from datetime import datetime
|
||||
|
||||
from zope.component import createObject
|
||||
from zope.annotation.interfaces import IAnnotations
|
||||
|
||||
from Products.CMFCore.utils import getToolByName
|
||||
|
||||
@@ -364,5 +365,39 @@ class CommentCatalogTest(PloneTestCase):
|
||||
self.assertEquals(query['Type'], 'Comment')
|
||||
self.assertEquals(len(topic.queryCatalog()), 1)
|
||||
|
||||
|
||||
class NoConversationCatalogTest(PloneTestCase):
|
||||
|
||||
layer = DiscussionLayer
|
||||
|
||||
def afterSetUp(self):
|
||||
# First we need to create some content.
|
||||
self.loginAsPortalOwner()
|
||||
self.portal.invokeFactory(id='doc1',
|
||||
Title='Document 1',
|
||||
type_name='Document')
|
||||
|
||||
self.catalog = getToolByName(self.portal, 'portal_catalog')
|
||||
|
||||
conversation = IConversation(self.portal.doc1)
|
||||
|
||||
brains = self.catalog.searchResults(
|
||||
path = {'query' :
|
||||
'/'.join(self.portal.doc1.getPhysicalPath()) },
|
||||
portal_type = "Document"
|
||||
)
|
||||
self.conversation = conversation
|
||||
self.brains = brains
|
||||
self.doc1_brain = brains[0]
|
||||
|
||||
def test_total_comments(self):
|
||||
self.failUnless(self.doc1_brain.has_key('total_comments'))
|
||||
self.assertEquals(self.doc1_brain.total_comments, 0)
|
||||
|
||||
# Make sure no conversation has been created
|
||||
self.assert_('plone.app.discussion:conversation' not in
|
||||
IAnnotations(self.portal.doc1))
|
||||
|
||||
|
||||
def test_suite():
|
||||
return unittest.defaultTestLoader.loadTestsFromName(__name__)
|
||||
|
||||
@@ -2,6 +2,7 @@ import unittest
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from zope.component import createObject, queryUtility
|
||||
from zope.annotation.interfaces import IAnnotations
|
||||
|
||||
from Acquisition import aq_base, aq_parent
|
||||
|
||||
@@ -698,6 +699,13 @@ class ConversationTest(PloneTestCase):
|
||||
def test_discussion_item_not_in_bad_types(self):
|
||||
self.failIf('Discussion Item' in BAD_TYPES)
|
||||
|
||||
def test_no_comment(self):
|
||||
conversation = IConversation(self.portal.doc1)
|
||||
|
||||
# Make sure no conversation has been created
|
||||
self.assert_('plone.app.discussion:conversation' not in
|
||||
IAnnotations(self.portal.doc1))
|
||||
|
||||
|
||||
class RepliesTest(PloneTestCase):
|
||||
|
||||
|
||||
@@ -207,5 +207,15 @@ class MigrationTest(PloneTestCase):
|
||||
talkback = self.discussion.getDiscussionFor(self.doc)
|
||||
self.assertEquals(len(talkback.getReplies()), 0)
|
||||
|
||||
def test_migrate_no_comment(self):
|
||||
|
||||
# Call migration script
|
||||
self.view()
|
||||
|
||||
# Make sure no conversation has been created
|
||||
self.assert_('plone.app.discussion:conversation' not in
|
||||
IAnnotations(self.doc))
|
||||
|
||||
|
||||
def test_suite():
|
||||
return unittest.defaultTestLoader.loadTestsFromName(__name__)
|
||||
|
||||
Reference in New Issue
Block a user