From 515ffac2465cb0f21bc049190de8a2145a425d63 Mon Sep 17 00:00:00 2001 From: Stefan Wojcik Date: Mon, 6 Feb 2017 18:55:15 -0700 Subject: [PATCH] unit test showing issues with skip & limit on an existing queryset --- tests/queryset/queryset.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/tests/queryset/queryset.py b/tests/queryset/queryset.py index 2d5b5b0f..0d8ed5c1 100644 --- a/tests/queryset/queryset.py +++ b/tests/queryset/queryset.py @@ -106,8 +106,7 @@ class QuerySetTest(unittest.TestCase): list(BlogPost.objects(author2__name="test")) def test_find(self): - """Ensure that a query returns a valid set of results. - """ + """Ensure that a query returns a valid set of results.""" self.Person(name="User A", age=20).save() self.Person(name="User B", age=30).save() @@ -134,11 +133,21 @@ class QuerySetTest(unittest.TestCase): self.assertEqual(len(people), 1) self.assertEqual(people[0].name, 'User A') + # Test limit on an existing queryset + people = self.Person.objects + self.assertEqual(len(people), 2) + self.assertEqual(len(people.limit(1)), 1) + # Test skip people = list(self.Person.objects.skip(1)) self.assertEqual(len(people), 1) self.assertEqual(people[0].name, 'User B') + # Test skip on an existing queryset + people = self.Person.objects + self.assertEqual(len(people), 2) + self.assertEqual(len(people.skip(1)), 1) + person3 = self.Person(name="User C", age=40) person3.save() @@ -159,6 +168,12 @@ class QuerySetTest(unittest.TestCase): self.assertEqual(len(people), 1) self.assertEqual(people[0].name, 'User B') + # Test slice limit and skip on an existing queryset + people = self.Person.objects + self.assertEqual(len(people), 3) + self.assertEqual(people[1:2], 1) + self.assertEqual(people[0].name, 'User B') + # Test slice limit and skip cursor reset qs = self.Person.objects[1:2] # fetch then delete the cursor @@ -168,6 +183,7 @@ class QuerySetTest(unittest.TestCase): self.assertEqual(len(people), 1) self.assertEqual(people[0].name, 'User B') + # Test empty slice people = list(self.Person.objects[1:1]) self.assertEqual(len(people), 0)