cybertools/commerce/tests.py

70 lines
1.5 KiB
Python
Executable file

#! /usr/bin/python
"""
Tests for the 'cybertools.commerce' package.
$Id$
"""
import unittest, doctest
from zope.testing.doctestunit import DocFileSuite
from zope import component
from zope.interface import implements
from zope.intid.interfaces import IIntIds
from cybertools.commerce.order import OrderItems
from cybertools.commerce.product import Product
class IntIdsStub(object):
"""A testing stub (mock utility) for IntIds."""
implements(IIntIds)
def __init__(self):
self.objs = []
def getObject(self, uid):
return self.objs[uid]
def register(self, ob):
if ob not in self.objs:
self.objs.append(ob)
return self.objs.index(ob)
getId = register
queryId = getId
def unregister(self, ob):
id = self.getId(ob)
self.objs[id] = None
def __iter__(self):
return iter(xrange(len(self.objs)))
def setUp(testCase):
component.provideUtility(IntIdsStub())
component.provideAdapter(OrderItems)
def tearDown(testCase):
pass
class Test(unittest.TestCase):
"Basic tests."
def testBasicStuff(self):
p = Product('p001')
def test_suite():
flags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS
return unittest.TestSuite((
unittest.makeSuite(Test),
DocFileSuite('README.txt', optionflags=flags,
setUp=setUp, tearDown=tearDown),
))
if __name__ == '__main__':
unittest.main(defaultTest='test_suite')