Beispiel #1
0
    def test_ordering(self):
        VideoFactory.create_batch(3)

        qs = Video.objects.all()
        forward, _, _ = queryset_to_json(qs, "pk", {"id": "id"})
        backward, _, _ = queryset_to_json(qs, "-pk", {"id": "id"})
        self.assertEqual(forward, list(reversed(backward)))
Beispiel #2
0
    def test_property_map(self):
        video = VideoFactory().add_titles()

        qs = Video.objects.all()
        items, _, _ = queryset_to_json(qs, "pk", {"bob": "title"})

        self.assertEqual(items[0].keys(), ["bob"])
        self.assertEqual(items[0]["bob"], video.title)
Beispiel #3
0
    def test_pagination_options(self):
        VideoFactory.create_batch(3)
        videos = list(Video.objects.all().order_by("pk").add_titles())

        qs = Video.objects.all()
        items, first, last = queryset_to_json(qs, "pk", {"id": "id"})
        self.assertEqual(items, [{"id": v.id} for v in videos])
        self.assertEqual(first, videos[0].pk)
        self.assertEqual(last, videos[2].pk)
Beispiel #4
0
    def test_end(self):
        videos = VideoFactory.create_batch(3)
        videos = list(Video.objects.all().order_by("pk").add_titles())

        qs = Video.objects.all()
        items, first, last = queryset_to_json(qs,
                                              "pk", {"id": "id"},
                                              end=videos[1].pk)
        self.assertEqual(items, [{"id": v.id} for v in reversed(videos[:2])])
        self.assertEqual(first, videos[1].pk)
        self.assertEqual(last, videos[0].pk)
Beispiel #5
0
    def test_start(self):
        videos = VideoFactory.create_batch(3)
        videos = list(Video.objects.all().order_by("pk").add_titles())

        qs = Video.objects.all()
        items, first, last = queryset_to_json(qs,
                                              "pk", {"id": "id"},
                                              start=videos[1].pk)
        self.assertEqual(items, [{"id": v.id} for v in videos[1:]])
        self.assertEqual(first, videos[1].pk)
        self.assertEqual(last, videos[2].pk)
Beispiel #6
0
    def test_property_map_value_error(self):
        VideoFactory()

        qs = Video.objects.all()
        with self.assertRaises(ValueError):
            queryset_to_json(qs, "pk", (("id", "id"), ("title", "title")))
Beispiel #7
0
    def test_page_size(self):
        VideoFactory.create_batch(3)

        qs = Video.objects.all()
        items, _, _ = queryset_to_json(qs, "pk", {"id": "id"})
        self.assertEqual(len(items), 2)
Beispiel #8
0
    def test_empty(self):
        qs = Video.objects.none()
        result = queryset_to_json(qs, "pk", {"id": "id"})

        self.assertEqual(result, ([], None, None))