fix conversation.__delitem__ function and add test for deleting comments from a conversation.
svn path=/plone.app.discussion/trunk/; revision=27062
This commit is contained in:
parent
2ff696a252
commit
8282307e0a
@ -176,7 +176,8 @@ class Conversation(Traversable, Persistent, Explicit):
|
|||||||
commentator = comment.author_username
|
commentator = comment.author_username
|
||||||
|
|
||||||
notify(ObjectWillBeRemovedEvent(comment, self, key))
|
notify(ObjectWillBeRemovedEvent(comment, self, key))
|
||||||
self._comments.remove(key)
|
|
||||||
|
self._comments.pop(key)
|
||||||
notify(ObjectRemovedEvent(comment, self, key))
|
notify(ObjectRemovedEvent(comment, self, key))
|
||||||
|
|
||||||
if commentator and commentator in self._commentators:
|
if commentator and commentator in self._commentators:
|
||||||
|
@ -48,7 +48,29 @@ class ConversationTest(PloneTestCase):
|
|||||||
self.assert_(conversation.last_comment_date - datetime.now() < timedelta(seconds=1))
|
self.assert_(conversation.last_comment_date - datetime.now() < timedelta(seconds=1))
|
||||||
|
|
||||||
def test_delete_comment(self):
|
def test_delete_comment(self):
|
||||||
pass
|
# Create a conversation. In this case we doesn't assign it to an
|
||||||
|
# object, as we just want to check the Conversation object API.
|
||||||
|
conversation = IConversation(self.portal.doc1)
|
||||||
|
|
||||||
|
# Pretend that we have traversed to the comment by aq wrapping it.
|
||||||
|
conversation = conversation.__of__(self.portal.doc1)
|
||||||
|
|
||||||
|
# Add a comment. Note: in real life, we always create comments via the factory
|
||||||
|
# to allow different factories to be swapped in
|
||||||
|
|
||||||
|
comment = createObject('plone.Comment')
|
||||||
|
comment.title = 'Comment 1'
|
||||||
|
comment.text = 'Comment text'
|
||||||
|
|
||||||
|
new_id = conversation.addComment(comment)
|
||||||
|
|
||||||
|
# delete the comment we just created
|
||||||
|
conversation.__delitem__(new_id)
|
||||||
|
|
||||||
|
# make sure there is no comment left in the conversation
|
||||||
|
self.assertEquals(len(conversation.getComments()), 0)
|
||||||
|
self.assertEquals(len(conversation.getThreads()), 0)
|
||||||
|
self.assertEquals(conversation.total_comments, 0)
|
||||||
|
|
||||||
def test_dict_operations(self):
|
def test_dict_operations(self):
|
||||||
# test dict operations and acquisition wrapping
|
# test dict operations and acquisition wrapping
|
||||||
|
Loading…
Reference in New Issue
Block a user