示例#1
0
 def setUp(self):
     """Initial data for the tests."""
     self.user = User.objects.get(username='******')
     self.group = Group.objects.get(name='Admin')
     self._now = datetime2pdt()
     self.now = self._now.replace(microsecond=0)
     self.start = self.now
     self.end = self.now + datetime.timedelta(days=5)
     self.voting = Poll(name='poll', start=self.start, end=self.end,
                        valid_groups=self.group, created_by=self.user)
     self.voting.save()
示例#2
0
    def test_send_email_to_council_members(self):
        """Test send emails to Council Members
        if an automated poll is created.

        """
        automated_poll = Poll(name='automated_poll', start=self.start,
                              end=self.end, valid_groups=self.group,
                              created_by=self.user, automated_poll=True)
        automated_poll.save()
        eq_(len(mail.outbox), 4)
        eq_(mail.outbox[2].to, [settings.REPS_COUNCIL_LIST])
        eq_(mail.outbox[3].to, [settings.REPS_COUNCIL_LIST])
示例#3
0
 def setUp(self):
     """Initial data for the tests."""
     UserFactory.create(username='******', email='*****@*****.**',
                        first_name='ReMo', last_name='bot')
     self.user = User.objects.get(username='******')
     self.group = Group.objects.get(name='Council')
     self._now = datetime2pdt()
     self.now = self._now.replace(microsecond=0)
     self.start = self.now
     self.end = self.now + datetime.timedelta(hours=5*24)
     self.voting = Poll(name='poll', start=self.start, end=self.end,
                        valid_groups=self.group, created_by=self.user)
     self.voting.save()
示例#4
0
    def test_send_email_to_council_members(self):
        """Test send emails to Council Members if an automated poll is created.

        """
        automated_poll = Poll(name='automated_poll', start=self.start,
                              end=self.end, valid_groups=self.group,
                              created_by=self.user, automated_poll=True)
        automated_poll.save()
        eq_(len(mail.outbox), 4)
        for email in mail.outbox:
            if settings.REPS_COUNCIL_ALIAS in email.to:
                break
        else:
            raise Exception('No email sent to REPS_COUNCIL_ALIAS')
示例#5
0
 def setUp(self):
     """Initial data for the tests."""
     self.user = User.objects.get(username='******')
     self.group = Group.objects.get(name='Admin')
     self._now = timezone.make_aware(datetime.datetime.now(),
                                     pytz.timezone(settings.TIME_ZONE))
     self.now = self._now.replace(microsecond=0)
     self.start = self.now
     self.end = self.now + datetime.timedelta(days=5)
     self.voting = Poll(name='poll',
                        start=self.start,
                        end=self.end,
                        valid_groups=self.group,
                        created_by=self.user)
     self.voting.save()
示例#6
0
    def test_extend_voting_period_by_24hours(self, fake_datetime2pdt):
        """Test extending voting period by 24hours if less than
        50% of the valid users have voted and the poll ends in less than
        8 hours.

        """
        automated_poll = Poll(name='poll', start=self.start, end=self.end,
                              valid_groups=self.group, created_by=self.user,
                              automated_poll=True)
        automated_poll.save()

        # act like it's 4 hours before the end of the poll
        fake_datetime2pdt.return_value = (datetime2pdt() +
                                          datetime.timedelta(hours=116))
        args = ['extend_voting_period']
        management.call_command('cron', *args)
        poll = Poll.objects.get(pk=automated_poll.id)
        eq_(poll.end - automated_poll.end, datetime.timedelta(hours=24))
示例#7
0
    def test_extend_voting_period(self):
        bug = BugFactory.create()
        end = get_date(days=1)
        new_end = get_date(days=2)

        automated_poll = Poll(name='poll', start=self.start, end=end,
                              valid_groups=self.group, created_by=self.user,
                              automated_poll=True, bug=bug)
        automated_poll.save()

        args = ['extend_voting_period']
        management.call_command('cron', *args)
        poll = Poll.objects.get(pk=automated_poll.id)
        eq_(poll.end.year, new_end.year)
        eq_(poll.end.month, new_end.month)
        eq_(poll.end.day, new_end.day)
        eq_(poll.end.hour, 0)
        eq_(poll.end.minute, 0)
        eq_(poll.end.second, 0)