Пример #1
0
def _setup_poll_fixture(config):
    # type: (Configurator) -> Poll
    config.testing_securitypolicy('admin', permissive=True)
    # config.include('pyramid_chameleon')
    # Register plugin
    config.include('voteit.stv')
    config.include('arche.testing')
    config.include('arche.testing.workflow')
    config.include('arche.testing.catalog')
    config.include('voteit.core.models.catalog')
    root = bootstrap_and_fixture(config)
    root['m'] = Meeting()
    unrestricted_wf_transition_to(root['m'], 'ongoing')
    root['m']['ai'] = ai = AgendaItem()
    unrestricted_wf_transition_to(ai, 'upcoming')
    unrestricted_wf_transition_to(ai, 'ongoing')
    #Setup poll
    ai['poll'] = Poll()
    poll = ai['poll']
    #Add proposals
    p1 = Proposal(creators = ['dummy'], text = 'first proposal')
    p1.uid = 'p1uid' #To make it simpler to test against
    ai['p1'] = p1
    p2 = Proposal(creators = ['dummy'], text = 'second proposal')
    p2.uid = 'p2uid'
    ai['p2'] = p2
    p3 = Proposal(creators = ['dummy'], text = 'third proposal')
    p3.uid = 'p3uid'
    ai['p3'] = p3
    #Select proposals for this poll
    poll.proposal_uids = (p1.uid, p2.uid, p3.uid)
    #Set poll as ongoing
    unrestricted_wf_transition_to(poll, 'upcoming')
    return poll
Пример #2
0
def _setup_poll_fixture(config):
    config.testing_securitypolicy('admin', permissive = True)
    config.include('pyramid_chameleon')
    #Register plugin
    config.include('voteit.schulze')
    config.include('voteit.core.helpers')
    config.include('voteit.core.testing_helpers.register_catalog')
    root = bootstrap_and_fixture(config)
    root['m'] = Meeting()
    unrestricted_wf_transition_to(root['m'], 'ongoing')
    root['m']['ai'] = ai = AgendaItem()
    unrestricted_wf_transition_to(ai, 'upcoming')
    unrestricted_wf_transition_to(ai, 'ongoing')
    #Setup poll
    ai['poll'] = Poll()
    poll = ai['poll']
    #Add proposals
    p1 = Proposal(creators = ['dummy'], text = 'first proposal')
    p1.uid = 'p1uid' #To make it simpler to test against
    ai['p1'] = p1
    p2 = Proposal(creators = ['dummy'], text = 'second proposal')
    p2.uid = 'p2uid'
    ai['p2'] = p2
    p3 = Proposal(creators = ['dummy'], text = 'third proposal')
    p3.uid = 'p3uid'
    ai['p3'] = p3
    #Select proposals for this poll
    poll.proposal_uids = (p1.uid, p2.uid, p3.uid)
    #Set poll as ongoing
    unrestricted_wf_transition_to(poll, 'upcoming')
    unrestricted_wf_transition_to(poll, 'ongoing')
    return poll
Пример #3
0
    def setUp(self):
        self.request = testing.DummyRequest()
        self.config = testing.setUp(request=self.request)
        self.config.testing_securitypolicy(userid='admin')
        
        #Enable workflows
        self.config.include('pyramid_zcml')
        self.config.load_zcml('voteit.core:configure.zcml')
        
        #Register poll plugin
        self.config.include('voteit.core.plugins.majority_poll')
        
        # Adding catalog
        self.config.include('voteit.core.models.catalog')
        self.config.include('voteit.core.models.unread')
        self.config.include('voteit.core.models.user_tags')
        self.config.scan('voteit.core.subscribers.catalog')
        
        #Add root
        from voteit.core.models.site import SiteRoot
        root = SiteRoot()
        
        #Add users
        from voteit.core.models.users import Users
        root['users'] = users = Users()
        from voteit.core.models.user import User
        users['admin'] = User()
        
        #Add meeting
        from voteit.core.models.meeting import Meeting
        root['m'] = m = Meeting()

        #Add agenda item - needed for lookups
        from voteit.core.models.agenda_item import AgendaItem
        m['ai'] = ai = AgendaItem()

        #Add a poll
        from voteit.core.models.poll import Poll
        ai['poll'] = Poll()
        #Wrap in correct context
        self.poll = ai['poll']
        #Select plugin to use
        from voteit.core.plugins.majority_poll import MajorityPollPlugin
        self.poll.set_field_value('poll_plugin', MajorityPollPlugin.name)
        
        #Add proposals
        from voteit.core.models.proposal import Proposal
        p1 = Proposal()
        p1.title = 'p1'
        p1.uid = 'p1uid' #To make it simpler to test against
        ai['p1'] = p1
        p2 = Proposal()
        p2.title = 'p2'
        p2.uid = 'p2uid' #To make it simpler to test against
        ai['p2'] = p2
        
        #Select proposals for this poll
        self.poll.proposal_uids = (p1.uid, p2.uid, )
        
        self.ai = ai
Пример #4
0
 def setUp(self):
     self.request = testing.DummyRequest()
     self.config = testing.setUp(request=self.request)
     self.config.testing_securitypolicy(userid='admin')
     self.config.include('arche.testing')
     self.config.include('arche.models.catalog')
     #Enable workflows
     self.config.include('voteit.core.testing_helpers.register_workflows')
     #Register poll plugin
     self.config.include('voteit.core.plugins.majority_poll')
     #Add root
     from voteit.core.models.site import SiteRoot
     self.root = root = SiteRoot()
     #Add users
     from voteit.core.models.users import Users
     root['users'] = users = Users()
     from voteit.core.models.user import User
     users['admin'] = User()
     #Add meeting
     from voteit.core.models.meeting import Meeting
     root['m'] = self.meeting = m = Meeting()
     #Add agenda item - needed for lookups
     from voteit.core.models.agenda_item import AgendaItem
     m['ai'] = ai = AgendaItem()
     #Add a poll
     from voteit.core.models.poll import Poll
     ai['poll'] = Poll()
     #Wrap in correct context
     self.poll = ai['poll']
     #Select plugin to use
     from voteit.core.plugins.majority_poll import MajorityPollPlugin
     self.poll.set_field_value('poll_plugin', MajorityPollPlugin.name)
     #Add proposals
     from voteit.core.models.proposal import Proposal
     p1 = Proposal(text = 'p1', creators = ['admin'], aid = 'one')
     p1.uid = 'p1uid' #To make it simpler to test against
     ai['p1'] = p1
     p2 = Proposal(text = 'p2', creators = ['admin'], aid = 'two')
     p2.uid = 'p2uid' #To make it simpler to test against
     ai['p2'] = p2
     #Select proposals for this poll
     self.poll.proposal_uids = (p1.uid, p2.uid, )
     self.ai = ai
Пример #5
0
def _setup_poll_fixture(config):

    #Register plugin
    config.include('voteit.schulze')
    
    config.include('voteit.core.testing_helpers.register_catalog')
    config.include('voteit.core.testing_helpers.register_security_policies')
    config.scan('voteit.core.subscribers.catalog')    
    config.scan('voteit.core.views.components.proposals')
    config.scan('voteit.core.views.components.creators_info')
    config.scan('voteit.core.views.components.metadata_listing')
    root = bootstrap_and_fixture(config)
    
    root['m'] = Meeting()
    unrestricted_wf_transition_to(root['m'], 'ongoing')
    root['m']['ai'] = ai = AgendaItem()
    unrestricted_wf_transition_to(ai, 'upcoming')
    unrestricted_wf_transition_to(ai, 'ongoing')
    
    #Setup poll
    ai['poll'] = Poll()
    poll = ai['poll']
    
    #Add proposals
    p1 = Proposal(creators = ['dummy'])
    p1.uid = 'p1uid' #To make it simpler to test against
    ai['p1'] = p1
    p2 = Proposal(creators = ['dummy'])
    p2.uid = 'p2uid'
    ai['p2'] = p2
    p3 = Proposal(creators = ['dummy'])
    p3.uid = 'p3uid'
    ai['p3'] = p3
    
    #Select proposals for this poll
    poll.proposal_uids = (p1.uid, p2.uid, p3.uid)

    #Set poll as ongoing
    unrestricted_wf_transition_to(poll, 'upcoming')
    unrestricted_wf_transition_to(poll, 'ongoing')

    return poll