@@ -66,27 +66,6 @@ def test_get_earliest_registration_time_one_penalty(self):
6666 )
6767 self .assertEqual (earliest_reg , current_time + timedelta (hours = 5 ))
6868
69- """
70- def test_get_earliest_registration_time_two_penalties(self):
71- ""Test method calculating the earliest registration time for user with two penalties""
72- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
73-
74- current_time = timezone.now()
75- webkom_pool = event.pools.get(name="Webkom")
76- webkom_pool.activation_date = current_time
77- webkom_pool.save()
78-
79- user = get_dummy_users(1)[0]
80- AbakusGroup.objects.get(name="Webkom").add_user(user)
81- Penalty.objects.create(user=user, reason="test", weight=2, source_event=event)
82- penalties = user.number_of_penalties()
83-
84- earliest_reg = event.get_earliest_registration_time(
85- user, [webkom_pool], penalties
86- )
87- self.assertEqual(earliest_reg, current_time + timedelta(hours=12))
88- """
89-
9069 def test_cant_register_with_one_penalty_before_delay (self ):
9170 """Test that user can not register before (5 hour) delay when having one or more penalties"""
9271 event = Event .objects .get (title = "POOLS_NO_REGISTRATIONS" )
@@ -131,266 +110,6 @@ def test_can_register_with_one_penalty_after_delay(self):
131110 event .register (registration )
132111 self .assertEqual (event .number_of_registrations , 1 )
133112
134- """
135- def test_cant_register_with_two_penalties_before_delay(self):
136- ""Test that user can not register before (12 hour) delay when having two penalties""
137- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
138-
139- current_time = timezone.now()
140- abakus_pool = event.pools.get(name="Abakusmember")
141- abakus_pool.activation_date = current_time
142- abakus_pool.save()
143-
144- user = get_dummy_users(1)[0]
145- AbakusGroup.objects.get(name="Abakus").add_user(user)
146- Penalty.objects.create(user=user, reason="test", weight=2, source_event=event)
147-
148- with self.assertRaises(ValueError):
149- registration = Registration.objects.get_or_create(event=event, user=user)[0]
150- event.register(registration)
151- """
152-
153- """
154- def test_can_register_with_two_penalties_after_delay(self):
155- ""Test that user can register after (12 hour) delay when having two penalties""
156- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
157-
158- current_time = timezone.now()
159- abakus_pool = event.pools.get(name="Abakusmember")
160- abakus_pool.activation_date = current_time - timedelta(hours=12)
161- abakus_pool.save()
162-
163- user = get_dummy_users(1)[0]
164- AbakusGroup.objects.get(name="Abakus").add_user(user)
165- Penalty.objects.create(user=user, reason="test", weight=2, source_event=event)
166-
167- registration = Registration.objects.get_or_create(event=event, user=user)[0]
168- event.register(registration)
169- self.assertEqual(event.number_of_registrations, 1)
170- """
171-
172- """
173- def test_waiting_list_on_three_penalties(self):
174- ""Test that user is registered to waiting list directly when having three penalties""
175- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
176-
177- user = get_dummy_users(1)[0]
178- AbakusGroup.objects.get(name="Abakus").add_user(user)
179- Penalty.objects.create(user=user, reason="test", weight=3, source_event=event)
180-
181- registration = Registration.objects.get_or_create(event=event, user=user)[0]
182- event.register(registration)
183- self.assertEqual(event.number_of_registrations, 0)
184- self.assertEqual(event.waiting_registrations.count(), 1)
185- """
186-
187- """
188- def test_waiting_list_on_more_than_three_penalties(self):
189- ""Test that user is registered to waiting list directly having over three penalties""
190- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
191-
192- user = get_dummy_users(1)[0]
193- AbakusGroup.objects.get(name="Abakus").add_user(user)
194- Penalty.objects.create(user=user, reason="test", weight=2, source_event=event)
195- Penalty.objects.create(user=user, reason="test2", weight=2, source_event=event)
196-
197- registration = Registration.objects.get_or_create(event=event, user=user)[0]
198- event.register(registration)
199- self.assertEqual(event.number_of_registrations, 0)
200- self.assertEqual(event.waiting_registrations.count(), 1)
201- """
202-
203- """
204- def test_waiting_list_on_three_penalties_post_merge(self):
205- ""Test that user is registered to waiting list with three penalties after merge""
206- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
207- event.merge_time = timezone.now() - timedelta(hours=24)
208- event.save()
209-
210- user = get_dummy_users(1)[0]
211- AbakusGroup.objects.get(name="Abakus").add_user(user)
212- Penalty.objects.create(user=user, reason="test", weight=3, source_event=event)
213-
214- registration = Registration.objects.get_or_create(event=event, user=user)[0]
215- event.register(registration)
216- self.assertEqual(event.number_of_registrations, 0)
217- self.assertEqual(event.waiting_registrations.count(), 1)
218- """
219-
220- """
221- def test_not_bumped_if_three_penalties(self):
222- ""Test that user is not bumped on unregistration having three penalties""
223- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
224-
225- users = get_dummy_users(5)
226- abakus_users = users[:5]
227- waiting_users = users[3:5]
228-
229- for user in abakus_users:
230- AbakusGroup.objects.get(name="Abakus").add_user(user)
231- for user in users:
232- registration = Registration.objects.get_or_create(event=event, user=user)[0]
233- event.register(registration)
234-
235- self.assertIsNone(event.registrations.get(user=waiting_users[0]).pool)
236- self.assertIsNone(event.registrations.get(user=waiting_users[1]).pool)
237-
238- Penalty.objects.create(
239- user=waiting_users[0], reason="test", weight=3, source_event=event
240- )
241- registration_to_unregister = Registration.objects.get(
242- event=event, user=users[0]
243- )
244- event.unregister(registration_to_unregister)
245-
246- self.assertIsNone(event.registrations.get(user=waiting_users[0]).pool)
247- self.assertIsNotNone(event.registrations.get(user=waiting_users[1]).pool)
248- """
249-
250- """
251- def test_not_bumped_if_three_penalties_post_merge(self):
252- ""Test that user is not bumped on unregistration having three penalties after merge""
253- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
254-
255- users = get_dummy_users(7)
256- abakus_users = users[:5]
257- webkom_users = users[5:7]
258- waiting_users = users[3:5]
259-
260- for user in abakus_users:
261- AbakusGroup.objects.get(name="Abakus").add_user(user)
262- for user in webkom_users:
263- AbakusGroup.objects.get(name="Webkom").add_user(user)
264- for user in users:
265- registration = Registration.objects.get_or_create(event=event, user=user)[0]
266- event.register(registration)
267-
268- self.assertIsNone(event.registrations.get(user=waiting_users[0]).pool)
269- self.assertIsNone(event.registrations.get(user=waiting_users[1]).pool)
270-
271- event.merge_time = timezone.now() - timedelta(hours=24)
272- event.save()
273- Penalty.objects.create(
274- user=waiting_users[0], reason="test", weight=3, source_event=event
275- )
276-
277- registration_to_unregister = Registration.objects.get(
278- event=event, user=webkom_users[0]
279- )
280- event.unregister(registration_to_unregister)
281-
282- self.assertIsNone(event.registrations.get(user=waiting_users[0]).pool)
283- self.assertIsNotNone(event.registrations.get(user=waiting_users[1]).pool)
284- """
285-
286- """
287- def test_bumped_if_penalties_expire_while_waiting(self):
288- ""Test that user gets bumped when penalties expire while on waiting list""
289- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
290-
291- for pool in event.pools.all():
292- pool.activation_date = timezone.now() - timedelta(hours=12)
293- pool.save()
294-
295- users = get_dummy_users(5)
296- penalty_one = Penalty.objects.create(
297- user=users[0], reason="test", weight=1, source_event=event
298- )
299- Penalty.objects.create(
300- user=users[0], reason="test", weight=2, source_event=event
301- )
302- abakus_users = users[:5]
303- waiting_users = [users[0], users[4]]
304-
305- for user in abakus_users:
306- AbakusGroup.objects.get(name="Abakus").add_user(user)
307- for user in users:
308- registration = Registration.objects.get_or_create(event=event, user=user)[0]
309- event.register(registration)
310-
311- self.assertIsNone(event.registrations.get(user=waiting_users[0]).pool)
312- self.assertIsNone(event.registrations.get(user=waiting_users[1]).pool)
313-
314- penalty_one.created_at = timezone.now() - timedelta(days=365)
315- penalty_one.save()
316- registration_to_unregister = Registration.objects.get(
317- event=event, user=users[1]
318- )
319- event.unregister(registration_to_unregister)
320-
321- self.assertIsNotNone(event.registrations.get(user=waiting_users[0]).pool)
322- self.assertIsNone(event.registrations.get(user=waiting_users[1]).pool)
323- """
324-
325- """
326- def test_isnt_bumped_if_third_penalty_expires_but_reg_delay_is_still_active(self):
327- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
328- for pool in event.pools.all():
329- pool.activation_date = timezone.now() - timedelta(hours=6)
330- pool.save()
331-
332- users = get_dummy_users(5)
333- penalty_one = Penalty.objects.create(
334- user=users[0], reason="test", weight=1, source_event=event
335- )
336- Penalty.objects.create(
337- user=users[0], reason="test", weight=2, source_event=event
338- )
339- abakus_users = users[:5]
340- waiting_users = [users[0], users[4]]
341-
342- for user in abakus_users:
343- AbakusGroup.objects.get(name="Abakus").add_user(user)
344- for user in users:
345- registration = Registration.objects.get_or_create(event=event, user=user)[0]
346- event.register(registration)
347-
348- self.assertIsNone(event.registrations.get(user=waiting_users[0]).pool)
349- self.assertIsNone(event.registrations.get(user=waiting_users[1]).pool)
350-
351- penalty_one.created_at = timezone.now() - timedelta(days=365)
352- penalty_one.save()
353- registration_to_unregister = Registration.objects.get(
354- event=event, user=users[1]
355- )
356- event.unregister(registration_to_unregister)
357-
358- self.assertIsNone(event.registrations.get(user=waiting_users[0]).pool)
359- self.assertIsNotNone(event.registrations.get(user=waiting_users[1]).pool)
360- """
361-
362- """
363- def test_no_legal_bump(self):
364- event = Event.objects.get(title="POOLS_NO_REGISTRATIONS")
365- users = get_dummy_users(5)
366- for pool in event.pools.all():
367- pool.activation_date = timezone.now()
368- pool.save()
369-
370- for user in users:
371- AbakusGroup.objects.get(name="Abakus").add_user(user)
372- registration = Registration.objects.get_or_create(event=event, user=user)[0]
373- event.register(registration)
374-
375- self.assertIsNone(event.registrations.get(user=users[3]).pool)
376- self.assertIsNone(event.registrations.get(user=users[4]).pool)
377-
378- Penalty.objects.create(
379- user=users[3], reason="test", weight=3, source_event=event
380- )
381- Penalty.objects.create(
382- user=users[4], reason="test", weight=2, source_event=event
383- )
384-
385- registration_to_unregister = Registration.objects.get(
386- event=event, user=users[0]
387- )
388- event.unregister(registration_to_unregister)
389-
390- self.assertIsNone(event.registrations.get(user=users[3]).pool)
391- self.assertIsNone(event.registrations.get(user=users[4]).pool)
392- """
393-
394113 def test_penalties_created_on_unregister (self ):
395114 """Test that user gets penalties on unregister after limit"""
396115 event = Event .objects .get (title = "POOLS_WITH_REGISTRATIONS" )
0 commit comments