Esempio n. 1
0
 def test_vote_multiplies_no_extra_votes(self):
     meeting = _active_poll_fixture(self.config)
     _delegation_fixture(self.config, meeting)
     self.config.testing_securitypolicy(userid='mr_tester')
     poll = meeting['ai']['poll']
     vote = Vote(creators = ['mr_tester'], notify = False)
     vote.set_vote_data('John Doe for pressy', notify = False)
     poll['mr_tester'] = vote
     self.assertEqual(len(poll.get_content()), 1)
Esempio n. 2
0
 def test_adjust_vote_existing(self):
     vote = _voting_fixture(self.config)
     poll = vote.__parent__
     other = Vote(creators = ['one'])
     other.set_vote_data({'c': 3}, notify = False)
     poll['other'] = other
     obj = self._cut(vote)
     obj.adjust_vote('other')
     self.assertIn('other', poll)
     self.assertEqual(poll['other'].get_vote_data(), {'a': 1, 'b': 2})
Esempio n. 3
0
 def test_all_votes_change_on_update(self):
     meeting = _active_poll_fixture(self.config)
     _delegation_fixture(self.config, meeting)
     self.config.testing_securitypolicy(userid='mrs_tester')
     poll = meeting['ai']['poll']
     vote = Vote(creators = ['mrs_tester'], notify = False )
     vote.set_vote_data('Jane Doe for pressy', notify = False)
     poll['mrs_tester'] = vote
     vote.set_vote_data('Mrs tester for pressy instead')
     votes = poll.get_content()
     self.assertEqual(votes[0].get_vote_data(), 'Mrs tester for pressy instead')
     self.assertEqual(votes[0].get_vote_data(), votes[1].get_vote_data(), votes[2].get_vote_data())
Esempio n. 4
0
 def test_delegators_without_voting_perm(self):
     vote = _voting_fixture(self.config)
     self.config.testing_securitypolicy(userid = 'jane')
     poll = vote.__parent__
     self.config.registry.settings['voteit.liquid.type'] = 'simple'
     self.config.include('voteit.liquid.models')
     obj = self._cut(vote)
     repr = IRepresentatives(obj.meeting)
     repr['jane'] = ('james', 'john')
     new_v = Vote(creators = ['jane'])
     new_v.set_vote_data({'a': 1}, notify = False)
     poll['jane'] = new_v
     self.assertNotIn('james', poll)
Esempio n. 5
0
 def test_adjust_vote_wont_touch_delegators_own_votes(self):
     vote = _voting_fixture(self.config)
     poll = vote.__parent__
     obj = self._cut(vote)
     obj.repr.enable_representative('one')
     obj.repr.represent('one', 'other')
     other = Vote(creators = ['other'])
     other.set_vote_data({'c': 3}, notify = False)
     poll['other'] = other
     obj = self._cut(other)
     obj.adjust_vote('other')
     self.assertEqual(vote.get_vote_data(), {'a': 1, 'b': 2})
     self.assertEqual(other.get_vote_data(), {'c': 3})
     self.assertEqual(obj.repr.represented_by('other'), 'one')
Esempio n. 6
0
 def test_delegators_get_votes(self):
     self.config.include('pyramid_chameleon')
     vote = _voting_fixture(self.config)
     self.config.testing_securitypolicy(userid = 'jane')
     poll = vote.__parent__
     unrestricted_wf_transition_to(poll, 'ongoing')
     self.config.registry.settings['voteit.liquid.type'] = 'simple'
     self.config.include('voteit.liquid.models')
     obj = self._cut(vote)
     root = obj.meeting.__parent__
     root.users['james'] = User()
     root.users['john'] = User()
     obj.meeting.add_groups('james', ['role:Voter'])
     obj.meeting.add_groups('john', ['role:Voter'])
     repr = IRepresentatives(obj.meeting)
     repr['jane'] = ('james', 'john')
     new_v = Vote(creators = ['jane'])
     new_v.set_vote_data({'a': 1}, notify = False)
     poll['jane'] = new_v
     self.assertIn('james', poll)
     self.assertIn('john', poll)
     self.assertEqual(poll['james'].get_vote_data(), {'a': 1})
Esempio n. 7
0
 def _make_obj(self):
     from voteit.core.models.vote import Vote
     return Vote()
Esempio n. 8
0
 def _add_votes(self, poll):
     from voteit.core.models.vote import Vote
     ai = poll.__parent__
     p1_uid = ai['prop1'].uid
     p2_uid = ai['prop2'].uid
     v1 = Vote(creators = ['one'])
     v1.set_vote_data({p1_uid: u'abstain', p2_uid: u'approve'}, notify = False)
     poll['v1'] = v1
     v2 = Vote(creators = ['two'])
     v2.set_vote_data({p1_uid: u'approve', p2_uid: u'deny'}, notify = False)
     poll['v2'] = v2
     v3 = Vote(creators = ['three'])
     v3.set_vote_data({p1_uid: u'approve'}, notify = False)
     poll['v3'] = v3
     v4 = Vote(creators = ['four'])
     v4.set_vote_data({p1_uid: u'approve'}, notify = False)
     poll['v4'] = v4
Esempio n. 9
0
 def _make_vote(self, vote_data='hello_world'):
     from voteit.core.models.vote import Vote
     vote = Vote()
     vote.set_vote_data(vote_data)
     return vote