refactor: include container display name in children api (#37429)
This helps us avoid additional API calls just to fetch display name of the container block that is being previewed.
This commit is contained in:
@@ -180,3 +180,4 @@ class ContainerChildrenSerializer(serializers.Serializer):
|
||||
children = ContainerChildSerializer(many=True)
|
||||
is_published = serializers.BooleanField()
|
||||
can_paste_component = serializers.BooleanField()
|
||||
display_name = serializers.CharField()
|
||||
|
||||
@@ -230,6 +230,7 @@ class ContainerChildrenView(APIView, ContainerHandlerMixin):
|
||||
],
|
||||
"is_published": false,
|
||||
"can_paste_component": true,
|
||||
"display_name": "Vertical block 1"
|
||||
}
|
||||
```
|
||||
"""
|
||||
@@ -277,6 +278,7 @@ class ContainerChildrenView(APIView, ContainerHandlerMixin):
|
||||
"children": children,
|
||||
"is_published": is_published,
|
||||
"can_paste_component": is_course,
|
||||
"display_name": current_xblock.display_name_with_default,
|
||||
}
|
||||
serializer = ContainerChildrenSerializer(container_data)
|
||||
return Response(serializer.data)
|
||||
|
||||
@@ -204,9 +204,11 @@ class ContainerVerticalViewTest(BaseXBlockContainer):
|
||||
url = self.get_reverse_url(self.vertical.location)
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(len(response.data["children"]), 2)
|
||||
self.assertFalse(response.data["is_published"])
|
||||
self.assertTrue(response.data["can_paste_component"])
|
||||
data = response.json()
|
||||
self.assertEqual(len(data["children"]), 2)
|
||||
self.assertFalse(data["is_published"])
|
||||
self.assertTrue(data["can_paste_component"])
|
||||
self.assertEqual(data["display_name"], "Unit")
|
||||
|
||||
def test_xblock_is_published(self):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user