Changeset 2075 in products


Ignore:
Timestamp:
Apr 7, 2010 2:04:51 PM (14 years ago)
Author:
mylan
Message:

#185: Add registration tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.z3cform.captcha/branches/captchas-refactoring/quintagroup/z3cform/captcha/tests.py

    r2074 r2075  
    11import unittest 
     2 
     3from zope.interface import alsoProvides 
     4from zope.schema.interfaces import IField 
     5from zope.component import queryMultiAdapter 
     6from zope.publisher.browser import TestRequest 
     7 
     8from z3c.form.interfaces import IFormLayer 
     9from z3c.form.interfaces import IValidator 
     10from z3c.form.interfaces import IFieldWidget 
     11from z3c.form.interfaces import IErrorViewSnippet 
    212 
    313from Products.Five import zcml 
     
    616from Products.PloneTestCase.layer import onsetup 
    717from Products.PloneTestCase import PloneTestCase as ptc 
     18 
     19from quintagroup.z3cform.captcha import Captcha 
     20from quintagroup.z3cform.captcha import CaptchaWidget 
     21from quintagroup.z3cform.captcha.widget import CaptchaWidgetFactory 
    822 
    923@onsetup 
     
    2438 
    2539 
     40class TestRegistrations(ptc.PloneTestCase): 
     41 
     42    def afterSetUp(self): 
     43        super(TestRegistrations, self).afterSetUp() 
     44        self.request = self.app.REQUEST 
     45        alsoProvides(self.request, IFormLayer) 
     46 
     47    def testCaptchaFieldInterface(self): 
     48        self.assertEqual(IField.implementedBy(Captcha), True) 
     49 
     50    def testCaptchaWidgetInterface(self): 
     51        self.assertEqual(IFieldWidget.implementedBy(CaptchaWidgetFactory), True) 
     52 
     53    def testWidgetRegistration(self): 
     54        cfield = Captcha() 
     55        cwidget = queryMultiAdapter((cfield, self.request), IFieldWidget) 
     56        self.assertNotEqual(cwidget, None) 
     57 
     58    def testValidatorRegistration(self): 
     59        cfield = Captcha() 
     60        cvalidator = queryMultiAdapter((None, self.request, None, cfield, None), 
     61                IValidator) 
     62        self.assertNotEqual(cvalidator, None) 
     63 
     64    def testErrorViewRegistration(self): 
     65        cfield = Captcha() 
     66        cwidget = queryMultiAdapter((cfield, self.request), IFieldWidget) 
     67        error = ValueError() 
     68        eview = queryMultiAdapter( 
     69            (error, self.request, cwidget, cfield, None, None), 
     70            IErrorViewSnippet) 
     71        self.assertNotEqual(eview, None) 
     72 
     73 
    2674def test_suite(): 
    2775    suite = unittest.TestSuite() 
     76    suite.addTest(unittest.makeSuite(TestRegistrations)) 
    2877    return suite 
Note: See TracChangeset for help on using the changeset viewer.