def test_get_by_child(self): departments = [DepartmentFactory(), DepartmentFactory()] persons = [PersonFactory(), PersonFactory()] # Not on wainting list yet self.assertEqual(len(WaitingList.get_by_child(persons[0])), 0) # Sign up for waiting LIst WaitingListFactory(person=persons[0], department=departments[0]) WaitingListFactory(person=persons[1], department=departments[0]) self.assertEqual(WaitingList.get_by_child(persons[0]), [(departments[0], 1)]) self.assertEqual(WaitingList.get_by_child(persons[1]), [(departments[0], 2)]) # Sign up for more WaitingListFactory(person=persons[1], department=departments[1]) WaitingListFactory(person=persons[0], department=departments[1]) # Checks for Ordering self.assertEqual( WaitingList.get_by_child(persons[0]), [(departments[0], 1), (departments[1], 1)], ) self.assertEqual( WaitingList.get_by_child(persons[1]), [(departments[0], 2), (departments[1], 2)], )
def setUp(self): self.department = DepartmentFactory() self.activity = Activity( start_date=datetime.now(), end_date=datetime.now() + timedelta(days=365), # Has to be long enough to be a season department=self.department, ) self.activity.save() self.assertTrue( self.activity.is_season()) # If this fail increase the end_date self.family = Family(email="*****@*****.**") self.family.save() self.person = Person(family=self.family) self.person.save() self.member = Member(department=self.department, person=self.person, is_active=True) self.member.save() waitinglist = WaitingList( person=self.person, department=self.department, on_waiting_list_since=datetime.now() - timedelta(days=1), ) waitinglist.save() self.waitinglist_id = waitinglist.id
def WaitingListSetSubscription(request, id, departmentId, action): family = user_to_person(request.user).family person = get_object_or_404(Person, pk=id) if person.family.id != family.id: raise Http404("Person ikke i samme familie som bruger") department = get_object_or_404(Department, pk=departmentId) if action == "subscribe": if WaitingList.objects.filter(person=person, department=department): raise Http404("{} er allerede på {}s venteliste".format( person.name, department.name)) waiting_list = WaitingList() waiting_list.person = person waiting_list.department = department waiting_list.save() if action == "unsubscribe": try: waiting_list = WaitingList.objects.get(person=person, department=department) waiting_list.delete() except Exception: raise Http404("{} er ikke på {}s venteliste".format( person.name, department.name)) return HttpResponseRedirect(reverse("family_detail"))
def WaitingListSetSubscription(request, unique, id, departmentId, action): try: unique = uuid.UUID(unique) except ValueError: return HttpResponseBadRequest("Familie id er ugyldigt") person = get_object_or_404(Person, pk=id) if person.family.unique != unique: raise Http404("Person eksisterer ikke") department = get_object_or_404(Department, pk=departmentId) if action == 'subscribe': print('subscribing') if WaitingList.objects.filter(person=person, department=department): raise Http404("{} er allerede på {}s venteliste".format( person.name, department.name)) waiting_list = WaitingList() waiting_list.person = person waiting_list.department = department waiting_list.save() if action == 'unsubscribe': print('un-subscribing') try: waiting_list = WaitingList.objects.get(person=person, department=department) waiting_list.delete() except: raise Http404("{} er ikke på {}s venteliste".format( person.name, department.name)) return HttpResponseRedirect(reverse('family_detail', args=[unique]))
def WaitingListSetSubscription(request, id, departmentId, action): family = user_to_person(request.user).family person = get_object_or_404(Person, pk=id) if person.family.id != family.id: raise Http404("Person ikke i samme familie som bruger") department = get_object_or_404(Department, pk=departmentId) if action == 'subscribe': if WaitingList.objects.filter(person=person, department=department): raise Http404("{} er allerede på {}s venteliste".format(person.name, department.name)) waiting_list = WaitingList() waiting_list.person = person waiting_list.department = department waiting_list.save() if action == 'unsubscribe': try: waiting_list = WaitingList.objects.get(person=person, department=department) waiting_list.delete() except Exception: raise Http404("{} er ikke på {}s venteliste".format(person.name, department.name)) return HttpResponseRedirect(reverse('family_detail'))
def setUp(self): self.union = Union() self.union.save() self.department = Department( union=self.union ) self.department.save() self.activity = Activity( start_date=datetime.now(), end_date=datetime.now() + timedelta(days=365), # Has to be long enough to be a season department=self.department ) self.activity.save() self.assertTrue(self.activity.is_season()) # If this fail increase the end_date self.family = Family( email='*****@*****.**' ) self.family.save() self.person = Person( family=self.family ) self.person.save() waitinglist = WaitingList( person=self.person, department=self.department, on_waiting_list_since=datetime.now() - timedelta(days=1) ) waitinglist.save() self.waitinglist_id = waitinglist.id self.emailtemplate = EmailTemplate( idname='ACT_INVITE', from_address='*****@*****.**' ) self.emailtemplate.save()
class TestModelWaitinglist(TestCase): def setUp(self): self.union = Union() self.union.save() self.department = Department(union=self.union) self.department.save() self.family = Family() self.family.save() self.person1 = Person(family=self.family) self.person1.save() self.person1_waitinglist = WaitingList(person=self.person1, department=self.department) self.person1_waitinglist.save() # Artifically wait 60 seconds with adding person2 to the waitinglist with freeze_time(datetime.now() + timedelta(seconds=60)): self.person2 = Person(family=self.family) self.person2.save() self.person2_waitinglist = WaitingList(person=self.person2, department=self.department) self.person2_waitinglist.save() def test_waiting_list_position(self): self.assertEqual(self.person1_waitinglist.number_on_waiting_list(), 1) self.assertEqual(self.person2_waitinglist.number_on_waiting_list(), 2)
def setUp(self): self.union = Union() self.union.save() self.department = Department(union=self.union) self.department.save() self.family = Family() self.family.save() self.person1 = Person(family=self.family) self.person1.save() self.person1_waitinglist = WaitingList(person=self.person1, department=self.department) self.person1_waitinglist.save() # Artifically wait 60 seconds with adding person2 to the waitinglist with freeze_time(datetime.now() + timedelta(seconds=60)): self.person2 = Person(family=self.family) self.person2.save() self.person2_waitinglist = WaitingList(person=self.person2, department=self.department) self.person2_waitinglist.save()