fix: float " " symbol in the preview_body (#32484)

Co-authored-by: Edward Zarecor <ezarecor@tcril.org>
This commit is contained in:
Dmytro
2023-08-24 09:12:52 +03:00
committed by GitHub
parent 4c439041ef
commit fa45caa138
2 changed files with 17 additions and 3 deletions

View File

@@ -427,10 +427,9 @@ class ThreadSerializer(_ContentSerializer):
def get_preview_body(self, obj):
"""
Returns a cleaned and truncated version of the thread's body to display in a
preview capacity.
Returns a cleaned version of the thread's body to display in a preview capacity.
"""
return strip_tags(self.get_rendered_body(obj)).replace('\n', ' ')
return strip_tags(self.get_rendered_body(obj)).replace('\n', ' ').replace('&nbsp;', ' ')
def get_close_reason(self, obj):
"""

View File

@@ -356,6 +356,21 @@ class ThreadSerializerSerializationTest(SerializerTestMixin, SharedModuleStoreTe
})
assert self.serialize(thread) == expected
def test_get_preview_body(self):
"""
Test for the 'get_preview_body' method.
This test verifies that the 'get_preview_body' method returns a cleaned
version of the thread's body that is suitable for display as a preview.
The test specifically focuses on handling the presence of multiple
spaces within the body.
"""
thread_data = self.make_cs_content(
{"body": "<p>This is a test thread body with some text.</p>"}
)
serialized = self.serialize(thread_data)
assert serialized['preview_body'] == "This is a test thread body with some text."
@ddt.ddt
class CommentSerializerTest(SerializerTestMixin, SharedModuleStoreTestCase):