import unittest from zope.component import createObject from Products.PloneTestCase.ptc import PloneTestCase from plone.app.discussion.tests.layer import DiscussionLayer from plone.app.discussion.interfaces import IComment, IConversation from plone.app.discussion.comment import Comment class CommentTest(PloneTestCase): layer = DiscussionLayer def afterSetUp(self): # First we need to create some content. self.loginAsPortalOwner() typetool = self.portal.portal_types typetool.constructContent('Document', self.portal, 'doc1') def test_factory(self): # test with createObject() pass def test_id(self): # relationship between id, getId(), __name__ pass def test_title(self): pass def test_creator(self): pass def test_traversal(self): # make sure comments are traversable, have an id, absolute_url and physical path # XXX - traversal doesn't work without a name? conversation = self.portal.doc1.restrictedTraverse('++comment++1') self.assert_(IConversation.providedBy(conversation)) # TODO: Test adding comments, traversing to them pass def test_workflow(self): # ensure that we can assign a workflow to the comment type and perform # workflow operations pass def test_fti(self): # test that we can look up an FTI for Discussion Item pass class RepliesTest(PloneTestCase): # test the IReplies adapter on a comment layer = DiscussionLayer def afterSetUp(self): # First we need to create some content. self.loginAsPortalOwner() typetool = self.portal.portal_types typetool.constructContent('Document', self.portal, 'doc1') def test_add_comment(self): pass def test_delete_comment(self): pass def test_dict_api(self): # ensure all operations use only top-level comments pass def test_suite(): return unittest.defaultTestLoader.loadTestsFromName(__name__)