def test_reservation_boundary_minute_at_now(self): '''00분, 29분, 30분, 59분 등록시 테스트''' local_timezone = pytz.timezone(settings.TIME_ZONE) start_local_time = timezone.datetime(2015, 8, 21, 1, 0, tzinfo=pytz.utc) start_local_time2 = timezone.datetime(2015, 8, 21, 1, 30, tzinfo=pytz.utc) end_local_time = start_local_time + timedelta(hours=DURATION) end_local_time2 = start_local_time2 + timedelta(hours=DURATION) r = add_reservation( user=self.user_jo, seat=self.seat6, start_time=start_local_time, end_time=end_local_time ) self.assertEqual(r.start_time, timezone.datetime( 2015, 8, 21, 1, 0, tzinfo=pytz.utc) ) r.delete() r = add_reservation( user=self.user_jo, seat=self.seat6, start_time=start_local_time + timedelta(minutes=29), end_time=end_local_time + timedelta(minutes=29) ) self.assertEqual(r.start_time, timezone.datetime( 2015, 8, 21, 1, 0, tzinfo=pytz.utc) ) r.delete() r = add_reservation( user=self.user_jo, seat=self.seat6, start_time=start_local_time2, end_time=end_local_time2 ) self.assertEqual(r.start_time, timezone.datetime( 2015, 8, 21, 1, 30, tzinfo=pytz.utc) ) r.delete() r = add_reservation( user=self.user_jo, seat=self.seat6, start_time=start_local_time2 + timedelta(minutes=29), end_time=end_local_time2 + timedelta(minutes=29) ) self.assertEqual(r.start_time, timezone.datetime( 2015, 8, 21, 1, 30, tzinfo=pytz.utc) ) r.delete()
def test_dup_filter_on_same_seat_at_same_time(self): print(Reservation.objects.all()) with self.assertRaises(ValidationError): r = add_reservation( user=self.user_jo, seat=self.seat1, start_time=self.now, end_time=self.end ) print('') print(r.start_time) print(r.end_time) print(Reservation.objects.all())
def setUp(self): self.user_jo = add_user('Jo') self.user_oh = add_user('Oh') self.man_room = add_room('Man') self.status_available = add_status('Available') self.status_noavailable = add_status('Pass') self.status_using = add_status('Using') self.type_partition = add_type('Partition') self.type_nopartition = add_type('No Partition') self.seat1 = add_seat(room=self.man_room, seat_num=1, status=self.status_available, type=self.type_partition ) self.seat2 = add_seat(room=self.man_room, seat_num=2, status=self.status_available, type=self.type_partition ) self.seat3 = add_seat(room=self.man_room, seat_num=3, status=self.status_available, type=self.type_partition ) self.seat4 = add_seat(room=self.man_room, seat_num=4, status=self.status_available, type=self.type_partition ) self.seat5 = add_seat(room=self.man_room, seat_num=15, status=self.status_noavailable, type=self.type_nopartition ) self.seat8 = add_seat(room=self.man_room, seat_num=16, status=self.status_using, type=self.type_nopartition ) self.room_woman = add_room('Woman') self.seat6 = add_seat(room=self.room_woman, seat_num=10, status=self.status_available, type=self.type_partition ) self.seat7 = add_seat(room=self.room_woman, seat_num=13, status=self.status_available, type=self.type_nopartition ) # 0분으로 설정하면 실패함.. 이유는 모르겠다.. 안에 저장된 데이터 보면 똑같은데.. # self.now = timezone.datetime(2015, 8, 21, 1, 0, tzinfo=pytz.utc) self.now = timezone.datetime(2015, 8, 21, 1, 1, tzinfo=pytz.utc) # self.now = timezone.now() self.end = self.now + timedelta(hours=4) self.local_time = self.now.astimezone(pytz.timezone(settings.TIME_ZONE)) self.now2 = self.local_time + timedelta(minutes=30) self.end2 = self.now2 + timedelta(hours=4) print(self.now) print(self.end) add_reservation( user=self.user_jo, seat=self.seat1, start_time=self.now, end_time=self.end ) add_reservation( user=self.user_jo, seat=self.seat3, start_time=self.now, end_time=self.end ) add_reservation( user=self.user_oh, seat=self.seat4, start_time=self.now, end_time=self.end ) add_reservation( user=self.user_oh, seat=self.seat8, start_time=self.now, end_time=self.end )
def test_pass_filter(self): with self.assertRaises(ValidationError): add_reservation( user=self.user_jo, seat=self.seat8, start_time=self.now2, end_time=self.end2 )
def test_dup_filter_on_same_seat_at_start_time(self): with self.assertRaises(ValidationError): r = add_reservation( user=self.user_oh, seat=self.seat1, start_time=self.now, end_time=self.end )