Skip to content

Commit 48499b9

Browse files
committed
feedback
1 parent f5f8fdd commit 48499b9

2 files changed

Lines changed: 16 additions & 16 deletions

File tree

learning_resources/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,7 @@ def list(self, request, *args, **kwargs):
834834
return super().list(request, *args, **kwargs)
835835

836836
def get_serializer_class(self):
837-
if self.action == "create":
837+
if self.action in {"create", "update", "partial_update"}:
838838
return LearningPathRelationshipCreateSerializer
839839
return super().get_serializer_class()
840840

learning_resources/views_userlist_test.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -67,25 +67,13 @@ def test_user_list_endpoint_get(client, user, is_author, has_image, is_unlisted)
6767

6868

6969
def test_user_list_endpoint_list_query_count_constant(
70-
client, django_assert_num_queries
70+
client, django_assert_max_num_queries
7171
):
7272
"""User list list queries should not grow with list count."""
7373
user = UserFactory.create()
7474
client.force_login(user)
7575

76-
user_list = factories.UserListFactory.create(author=user)
77-
course = factories.CourseFactory.create()
78-
UserListRelationship.objects.create(
79-
parent=user_list,
80-
child=course.learning_resource,
81-
position=0,
82-
)
83-
84-
with django_assert_num_queries(5, exact=False):
85-
baseline_resp = client.get(reverse("lr:v1:userlists_api-list"))
86-
assert baseline_resp.status_code == 200
87-
88-
for _ in range(4):
76+
def _create_list_with_item():
8977
user_list = factories.UserListFactory.create(author=user)
9078
course = factories.CourseFactory.create()
9179
UserListRelationship.objects.create(
@@ -94,7 +82,19 @@ def test_user_list_endpoint_list_query_count_constant(
9482
position=0,
9583
)
9684

97-
with django_assert_num_queries(5, exact=False):
85+
_create_list_with_item()
86+
87+
# Cap well below what an N+1 on topics/children/image would produce
88+
# for the expanded case (5 lists with related data).
89+
query_budget = 20
90+
with django_assert_max_num_queries(query_budget):
91+
baseline_resp = client.get(reverse("lr:v1:userlists_api-list"))
92+
assert baseline_resp.status_code == 200
93+
94+
for _ in range(4):
95+
_create_list_with_item()
96+
97+
with django_assert_max_num_queries(query_budget):
9898
expanded_resp = client.get(reverse("lr:v1:userlists_api-list"))
9999
assert expanded_resp.status_code == 200
100100

0 commit comments

Comments
 (0)