File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
test_app/tests/resource_registry Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,34 @@ def test_resources_delete(django_user_model):
51
51
assert not Resource .objects .filter (name = user .username , object_id = user .pk , content_type = ContentType .objects .get_for_model (user ).pk ).exists ()
52
52
53
53
54
+ def test_resources_pagination (admin_api_client , django_user_model ):
55
+ """Test that pagination does not cause missing or duplicated records."""
56
+ resources_url = get_relative_url ("resource-list" )
57
+ users_created = []
58
+ for i in range (110 ):
59
+ user = django_user_model .objects .create (username = f"resuser{ i } " )
60
+ users_created .append (user .username )
61
+
62
+ page_content = []
63
+ i = 0
64
+ while True :
65
+ i += 1
66
+ resp = admin_api_client .get (f"{ resources_url } ?page={ i } " )
67
+ if "results" in resp .data :
68
+ page_content .append (resp .data ["results" ])
69
+ else :
70
+ break
71
+
72
+ all_records = [x ["name" ] for y in page_content for x in y if x ["resource_type" ] == "shared.user" and x ["name" ].startswith ('resuser' )]
73
+ assert len (all_records ) == len (users_created )
74
+ assert set (all_records ) == set (users_created )
75
+
76
+ # Activitystream has ordering by id
77
+ activitystream_url = get_relative_url ("activitystream-list" )
78
+ activity = admin_api_client .get (activitystream_url )
79
+ assert int (activity .data ["results" ][- 1 ]["id" ]) + 1 == int (activity .data ["results" ][- 2 ]["id" ])
80
+
81
+
54
82
def test_resources_delete_api (admin_api_client , django_user_model ):
55
83
"""Test that resources can be correctly deleted via the API."""
56
84
user = django_user_model .objects .create (username = "foo" )
You can’t perform that action at this time.
0 commit comments