def test_correct_sort_by_price(self): response = self.client.get(reverse("api:clients-session-list", args=[date(2021, 10, 4), "price"])) sessions = response.data["results"] remove_free_places(sessions) expected = SessionSerializer(Session.objects.filter( start_date__lte=date(2021, 10, 4), end_date__gte=date(2021, 10, 4)).order_by("price"), many=True).data self.assertEqual(expected, sessions)
def test_time_session_list3(self): response = self.client.get(reverse("api:today-session-list", args=[time(9), time(10)])) data = response.data expected = SessionSerializer(Session.objects.filter(start_date__lte=date.today(), end_date__gte=date.today(), start_time__gte=time(9), start_time__lte=time(10)), many=True).data self.assertEqual(expected, data)
def test_hall_session_list1(self): hall = Hall.objects.get(id=3) response = self.client.get(reverse("api:today-session-list", args=[hall])) data = response.data expected = SessionSerializer(Session.objects.filter(start_date__lte=date.today(), end_date__gte=date.today(), hall=hall), many=True).data self.assertEqual(expected, data)
def get_sessions_in_time(self, request, *args, **kwargs): hall = self.kwargs.get("hall", None) start_range = self.kwargs.get("start_range", None) end_range = self.kwargs.get("end_range", None) queryset = Session.objects.filter(start_date__lte=date.today(), end_date__gte=date.today()) if hall: queryset = queryset.filter(hall=hall) if start_range and end_range: queryset = queryset.filter(start_time__gte=start_range, start_time__lte=end_range) data = SessionSerializer(queryset, many=True).data return Response(data=data, status=200)
def test_hall_list(self): sessions = Session.objects.all() serializer = SessionSerializer(sessions, many=True) self.client.force_authenticate(self.s_user) response = self.client.get(reverse("api:session-list")) self.assertQuerysetEqual(serializer.data, response.data["results"])
def test_hall_time_session_list2(self): hall = Hall.objects.get(id=2) response = self.client.get(reverse("api:today-session-list", args=[time(12), time(13), hall])) data = response.data expected = SessionSerializer(Session.objects.filter(id=1), many=True).data self.assertEqual(expected, data)