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, [])
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)
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)
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, [])