Complete comments form integration test.

svn path=/plone.app.discussion/trunk/; revision=39610
This commit is contained in:
Timo Stollenwerk 2010-09-02 20:52:33 +00:00
parent 4f4f9f9cec
commit a410c72333
1 changed files with 19 additions and 11 deletions

View File

@ -28,6 +28,7 @@ from Products.Five.testbrowser import Browser
from Products.PloneTestCase.ptc import PloneTestCase from Products.PloneTestCase.ptc import PloneTestCase
from Products.PloneTestCase.ptc import FunctionalTestCase from Products.PloneTestCase.ptc import FunctionalTestCase
from plone.app.discussion.comment import Comment
from plone.app.discussion.browser.comments import CommentsViewlet from plone.app.discussion.browser.comments import CommentsViewlet
from plone.app.discussion.browser.comments import CommentForm from plone.app.discussion.browser.comments import CommentForm
from plone.app.discussion.interfaces import IConversation from plone.app.discussion.interfaces import IConversation
@ -64,38 +65,38 @@ class TestCommentForm(PloneTestCase):
provides=Interface, provides=Interface,
factory=CommentForm, factory=CommentForm,
name=u"comment-form") name=u"comment-form")
class Comment(Implicit):
__allow_access_to_unprotected_subobjects__ = 1
implements(Interface)
context = Comment()
request = make_request(form={}) request = make_request(form={})
commentForm = getMultiAdapter((self.context, request), name=u"comment-form") commentForm = getMultiAdapter((self.context, request),
name=u"comment-form")
commentForm.update() commentForm.update()
data, errors = commentForm.extractData() data, errors = commentForm.extractData()
self.assertEquals(len(errors), 2) self.assertEquals(len(errors), 2)
self.failIf(commentForm.handleComment(commentForm, "foo"))
context = Comment()
request = make_request(form={'form.widgets.text': 'foo'}) request = make_request(form={'form.widgets.text': 'foo'})
commentForm = getMultiAdapter((self.context, request), name=u"comment-form") commentForm = getMultiAdapter((self.context, request),
name=u"comment-form")
commentForm.update() commentForm.update()
data, errors = commentForm.extractData() data, errors = commentForm.extractData()
self.assertEquals(len(errors), 1) self.assertEquals(len(errors), 1)
context = Comment()
request = make_request(form={'form.widgets.title': 'foo', request = make_request(form={'form.widgets.title': 'foo',
'form.widgets.text': 'bar'}) 'form.widgets.text': 'bar'})
commentForm = getMultiAdapter((self.context, request), name=u"comment-form") commentForm = getMultiAdapter((self.context, request),
name=u"comment-form")
commentForm.update() commentForm.update()
data, errors = commentForm.extractData() data, errors = commentForm.extractData()
self.assertEquals(len(errors), 0) self.assertEquals(len(errors), 0)
self.failIf(commentForm.handleComment(commentForm, "foo"))
class TestCommentsViewletIntegration(FunctionalTestCase): class TestCommentsViewletIntegration(FunctionalTestCase):
@ -131,6 +132,13 @@ class TestCommentsViewletIntegration(FunctionalTestCase):
self.failUnless('formfield-form-widgets-title' in browser.contents) self.failUnless('formfield-form-widgets-title' in browser.contents)
self.failUnless('formfield-form-widgets-text' in browser.contents) self.failUnless('formfield-form-widgets-text' in browser.contents)
browser.getControl(name='form.widgets.title').value = "My Comment"
browser.getControl(name='form.widgets.text').value = "Lorem ipsum"
browser.getControl(name='form.buttons.comment').click()
self.failUnless("My Comment" in browser.contents)
self.failUnless("Lorem ipsum" in browser.contents)
class TestCommentsViewlet(PloneTestCase): class TestCommentsViewlet(PloneTestCase):