Do not show "publish" bulk action in moderation view when moderation is disabled. Fix story 1105355

.

svn path=/plone.app.discussion/trunk/; revision=30678
This commit is contained in:
Timo Stollenwerk
2009-10-18 13:12:52 +00:00
parent c9a31ee978
commit 58f8f4bf22
3 changed files with 49 additions and 12 deletions
@@ -17,7 +17,8 @@ from Products.CMFPlone.tests import dummy
from Products.PloneTestCase.ptc import PloneTestCase
from plone.app.discussion.browser.moderation import View
from plone.app.discussion.interfaces import IConversation, IComment, IReplies, IDiscussionSettings
from plone.app.discussion.interfaces import IConversation, IComment
from plone.app.discussion.interfaces import IReplies, IDiscussionSettings
from plone.app.discussion.tests.layer import DiscussionLayer
@@ -29,13 +30,17 @@ class ModerationViewTest(PloneTestCase):
self.loginAsPortalOwner()
typetool = self.portal.portal_types
typetool.constructContent('Document', self.portal, 'doc1')
self.portal_discussion = getToolByName(self.portal, 'portal_discussion', None)
self.membership_tool = getToolByName(self.folder, 'portal_membership')
self.portal_discussion = getToolByName(self.portal,
'portal_discussion',
None)
self.membership_tool = getToolByName(self.folder,
'portal_membership')
self.memberdata = self.portal.portal_memberdata
request = self.app.REQUEST
context = getattr(self.portal, 'doc1')
self.view = View(context, request)
self.portal.portal_workflow.setChainForPortalTypes(('Discussion Item',), 'comment_review_workflow')
self.portal.portal_workflow.setChainForPortalTypes(
('Discussion Item',), 'comment_review_workflow')
self.wf_tool = self.portal.portal_workflow
# Add a conversation with three comments
@@ -47,21 +52,30 @@ class ModerationViewTest(PloneTestCase):
comment1.text = 'Comment text'
comment1.Creator = 'Jim'
new_id_1 = conversation.addComment(comment1)
self.comment1 = self.portal.doc1.restrictedTraverse('++conversation++default/%s' % new_id_1)
self.comment1 = self.portal.doc1.restrictedTraverse(\
'++conversation++default/%s' % new_id_1)
comment2 = createObject('plone.Comment')
comment2.title = 'Comment 2'
comment2.text = 'Comment text'
comment2.Creator = 'Joe'
new_id_2 = conversation.addComment(comment2)
self.comment2 = self.portal.doc1.restrictedTraverse('++conversation++default/%s' % new_id_2)
self.comment2 = self.portal.doc1.restrictedTraverse(\
'++conversation++default/%s' % new_id_2)
comment3 = createObject('plone.Comment')
comment3.title = 'Comment 3'
comment3.text = 'Comment text'
comment3.Creator = 'Emma'
new_id_3 = conversation.addComment(comment3)
self.comment3 = self.portal.doc1.restrictedTraverse('++conversation++default/%s' % new_id_3)
self.comment3 = self.portal.doc1.restrictedTraverse(\
'++conversation++default/%s' % new_id_3)
def test_moderation_enabled(self):
self.assertEquals(self.view.moderation_enabled(), True)
self.wf_tool.setChainForPortalTypes(('Discussion Item',),
('simple_publication_workflow,'))
self.assertEquals(self.view.moderation_enabled(), False)
def test_comments_all(self):
self.failUnless(self.view.comments_all())
@@ -71,7 +85,8 @@ class ModerationViewTest(PloneTestCase):
self.wf_tool.getInfoFor(self.comment1, 'review_state')
self.failUnless(self.view.comments_pending())
self.assertEquals(len(self.view.comments_pending()), 3)
self.portal.portal_workflow.doActionFor(self.comment1, action='publish')
self.portal.portal_workflow.doActionFor(self.comment1,
action='publish')
#self.comment1.reindexObject()
#self.assertEquals(len(self.view.comments_pending()), 2)