[Product-Developers] testing schemaextender
Héctor Velarde
hvelarde at jornada.com.mx
Fri Jan 11 05:11:04 UTC 2008
Martin:
finally my extender is working the way I wanted; thanks for your help, man!
now I'm writing some tests to verify that everything is fine; I found
one issue and something not working (at least, not for me) in your doctest:
first, *usage.txt* starting on line 142:
>>> schema = taggable_doc.Schema()
>>> 'schemaextender_test_tags' in schema
False
>>> 'schemaextender_test_highlighted' in schema
False
this doesn't work at all; I changed to something like this:
class TestNewsItem(JuliusLiteTestCase):
""" ensure content type implementation """
def afterSetUp(self):
self.folder.invokeFactory('News Item', 'news1')
self.news1 = getattr(self.folder, 'news1')
def testExtendedFields(self):
extended_fields = ['property', 'section', 'urgency', 'byline']
schema = getNames(self.news1.Schema())
for field in extended_fields:
self.failUnless(field in schema)
so you're missing the getNames() method.
second, *usage.txt* starting on line 33:
>>> self.folder.invokeFactory('Document', 'taggable-document')
'taggable-document'
>>> taggable_doc = getattr(self.folder, 'taggable-document')
>>> ITaggable.providedBy(taggable_doc)
True
this doesn't work for me:
class TestExtender(JuliusLiteTestCase):
""" ensure extender implementation """
def afterSetUp(self):
zope.component.provideAdapter(NITFExtender,
provides=ISchemaExtender, name=u'Products.nitf4plone.extender')
self.folder.invokeFactory('News Item', 'news1')
self.news1 = getattr(self.folder, 'news1')
def testProvidesSchemaExtender(self):
self.failUnless(ISchemaExtender.providedBy(self.news1))
def testProvidesSchemaModifier(self):
self.failUnless(ISchemaModifier.providedBy(self.news1))
both methods fail.
I tried also:
#this one fails
self.failUnless(verifyObject(ISchemaExtender, self.news1))
#this one pass
self.failUnless(verifyClass(ISchemaExtender, ATNewsItem))
any hint?
saludos
More information about the Product-Developers
mailing list