Changeset 2098 in products
- Timestamp:
- Apr 9, 2010 11:09:48 AM (14 years ago)
- Location:
- quintagroup.pfg.captcha/trunk/quintagroup/pfg/captcha
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.pfg.captcha/trunk/quintagroup/pfg/captcha/field.py
r2091 r2098 15 15 16 16 CAPTCHA_ID = 'key' 17 HIDDEN_FIELDS = [ 18 'title', 19 'description', 20 'required', 21 'hidden', 22 'fgTDefault', 23 'fgTEnabled', 24 'fgDefault', 25 'fgTValidator'] 17 26 18 27 def finalizeCaptchaFieldSchema( schema ): 19 28 schema['title'].default= 'key' 20 for field in ('title', 21 'description', 22 'required', 23 'hidden', 24 'fgTDefault', 25 'fgTEnabled', 26 'fgDefault', 27 'fgTValidator'): 29 for field in HIDDEN_FIELDS: 28 30 schema[field].widget.visible = {'view':'invisible','edit':'invisible'} 29 31 -
quintagroup.pfg.captcha/trunk/quintagroup/pfg/captcha/tests.py
r2097 r2098 8 8 from Products.PloneTestCase.layer import onsetup 9 9 from Products.PloneTestCase import PloneTestCase as ptc 10 from Products.CMFCore.permissions import View 11 from Products.Archetypes.atapi import StringField 12 13 from quintagroup.pfg.captcha import CaptchaWidget 14 from quintagroup.pfg.captcha import CaptchaValidator 15 from quintagroup.pfg.captcha.field import CAPTCHA_ID, HIDDEN_FIELDS 16 17 _marker = object() 10 18 11 19 PRODUCTS = [ 12 'Products.PloneFormGen',13 20 'quintagroup.captcha.core', 14 21 'quintagroup.pfg.captcha', … … 22 29 zcml.load_config('configure.zcml', quintagroup.pfg.captcha) 23 30 fiveconfigure.debug_mode = False 31 ztc.installProduct('PloneFormGen') 24 32 ztc.installPackage('quintagroup.pfg.captcha') 25 33 ztc.installPackage('quintagroup.captcha.core') 26 34 27 35 setup_product() 28 ptc.setupPloneSite( extension_profiles=PROFILES)36 ptc.setupPloneSite(products=['PloneFormGen',], extension_profiles=PROFILES) 29 37 30 38 … … 67 75 '"qplonecaptchafield" layer not present in "%s" skin' % sname) 68 76 77 78 class TestCaptchaField(ptc.PloneTestCase): 79 80 def afterSetUp(self): 81 self.folder.invokeFactory('FormFolder', 'ff1') 82 self.ff1 = getattr(self.folder, 'ff1') 83 self.ff1.invokeFactory('CaptchaField', 'captcha_field') 84 85 def testId(self): 86 """CaptchaField has always CAPTCHA_ID id.""" 87 self.assertEqual(CAPTCHA_ID in self.ff1, True) 88 self.assertNotEqual('captcha_field' in self.ff1, True) 89 90 def testSchema(self): 91 cf = getattr(self.ff1, CAPTCHA_ID) 92 schema = cf.Schema() 93 for field in HIDDEN_FIELDS: 94 visibility = schema[field].widget.visible 95 self.assertEqual(visibility, {'view':'invisible','edit':'invisible'}, 96 '"%s" field is not hidden, but %s:' % (field, visibility)) 97 98 def testFGField(self): 99 cf = getattr(self.ff1, CAPTCHA_ID) 100 fgField = getattr(cf, 'fgField', _marker) 101 self.assertNotEqual(fgField, _marker) 102 # Test fgField properties 103 self.assertEqual(type(fgField), StringField) 104 self.assertEqual(bool(fgField.searchable), False ) 105 self.assertEqual(fgField.write_permission, View,) 106 self.assertEqual(type(fgField.widget), CaptchaWidget) 107 validators = [v.__class__ for v in fgField.validators._chain] 108 self.assertEqual(CaptchaValidator in validators, True) 69 109 70 110 … … 72 112 suite = unittest.TestSuite() 73 113 suite.addTest(unittest.makeSuite(TestInstallations)) 114 suite.addTest(unittest.makeSuite(TestCaptchaField)) 74 115 return suite
Note: See TracChangeset
for help on using the changeset viewer.