2
Tests for generation scripts.
5
from persistent.interfaces import IPersistent
7
from zope.app.keyreference.interfaces import IKeyReference
8
from zope.app.publication.zopepublication import ZopePublication
9
from zope.app.testing.setup import setUpAnnotations
10
from zope.component import provideAdapter
11
from zope.interface import implements
13
from schooltool.app.app import SchoolToolApplication
14
from schooltool.app.interfaces import ISchoolToolApplication
15
from schooltool.course.interfaces import ISection
16
from schooltool.gradebook.activity import getSectionActivities
17
from schooltool.gradebook.interfaces import IGradebookRoot, IActivities
18
from schooltool.gradebook.gradebook_init import getGradebookRoot
19
from schooltool.requirement.evaluation import getEvaluations
20
from schooltool.requirement.interfaces import IEvaluations
21
from schooltool.requirement.interfaces import IHaveEvaluations
22
from schooltool.requirement.scoresystem import ScoreSystemsProxy
25
class ContextStub(object):
26
"""Stub for the context argument passed to evolve scripts.
28
>>> from zope.app.zopeappgenerations import getRootFolder
29
>>> context = ContextStub()
30
>>> getRootFolder(context) is context.root_folder
34
class ConnectionStub(object):
35
def __init__(self, root_folder):
36
self.root_folder = root_folder
38
return {ZopePublication.root_name: self.root_folder}
41
self.root_folder = SchoolToolApplication()
42
self.connection = self.ConnectionStub(self.root_folder)
47
class StupidKeyReference(object):
48
implements(IKeyReference)
49
key_type_id = 'StupidKeyReference'
50
def __init__(self, ob):
58
def __cmp__(self, other):
59
return cmp(hash(self), hash(other))
62
def provideAdapters():
64
provideAdapter(StupidKeyReference, [IPersistent], IKeyReference)
65
provideAdapter(ScoreSystemsProxy)
66
provideAdapter(getGradebookRoot, adapts=(ISchoolToolApplication,),
67
provides=IGradebookRoot)
68
provideAdapter(getSectionActivities, adapts=(ISection,),
70
provideAdapter(getEvaluations, adapts=(IHaveEvaluations,),
71
provides=IEvaluations)