示例#1
0
    def testSendable_EventCollectSendablesAssignable_ButEventNotVisible(self):
        c, d, v, a, fix_to_date = self.setup_sendable_test()

        f.TriggerByEventFactory.create_batch(
            3, assignment_state=TriggerBase.ASSIGNED, campaign=c)

        result = Sendable.collect_from_event_only_assigned_triggers(
            fix_to_date)
        self.assertEqual(0, result)
        all_qs = Sendable.objects.all()
        self.assertQuerysetEqual(all_qs, [])
示例#2
0
    def testSendable_EventCollectSendablesAssignedDifferentActivity(self):
        c, d, v, a, fix_to_date = self.setup_sendable_test()

        f.AssignmentFactory(volunteer=v, duty=d)

        f.TriggerByEventFactory.create_batch(
            3, assignment_state=TriggerBase.ASSIGNED, campaign=c,
            activities=[])

        TriggerByEvent.objects.first().activities.add(d.activity)

        result = Sendable.collect_from_event_only_assigned_triggers(
            fix_to_date)

        self.assertEqual(1, result)
示例#3
0
    def testSendable_EventCollectSendablesAssignable(self):
        c, d, v, a, fix_to_date = self.setup_sendable_test()

        f.AssignmentFactory(volunteer=v, duty=d)

        f.TriggerByEventFactory.create_batch(
            3, assignment_state=TriggerBase.ASSIGNED, campaign=c,
            activities=[d.activity])

        result = Sendable.collect_from_event_only_assigned_triggers(
            fix_to_date)
        self.assertEqual(3, result)
        all_qs = Sendable.objects.all().order_by('id')
        self.assertQuerysetEqual(all_qs, [v, v, v],
                                 transform=lambda s: s.volunteer)
 def testSendable_EventCollectSendablesAssignable(self):
     fix_to_date = date(2225, 5, 5)  # This must be in the future.
     e = f.EventFactory(date=fix_to_date)
     c = f.CampaignFactory()
     d = f.FullDutyFactory(event=e)
     c.events.add(e)
     v = f.VolunteerFactory()
     f.AssignmentFactory(volunteer=v, duty=d)
     f.TriggerByEventFactory.create_batch(
         3, assignment_state=TriggerBase.ASSIGNED, campaign=c)
     result = Sendable.collect_from_event_only_assigned_triggers(
         fix_to_date)
     self.assertEqual(3, result)
     all_qs = Sendable.objects.all().order_by('id')
     self.assertQuerysetEqual(all_qs, [v, v, v],
                              transform=lambda s: s.volunteer)
示例#5
0
    def testSendable_EventCollectSendablesAssigned_ButEventInPast(self):
        c, d, v, a, fix_to_date = self.setup_sendable_test()

        f.AssignmentFactory(volunteer=v, duty=d)

        d.event.date = fix_to_date - timedelta(days=1)
        d.event.save()

        f.TriggerByEventFactory.create_batch(
            3, assignment_state=TriggerBase.ASSIGNED,
            campaign=c)
        result = Sendable.collect_from_event_only_assigned_triggers(
            fix_to_date)
        self.assertEqual(0, result)
        all_qs = Sendable.objects.all()
        self.assertQuerysetEqual(all_qs, [])