diff --git a/plugins/chat/app/serializers/chat/in_reply_to_serializer.rb b/plugins/chat/app/serializers/chat/in_reply_to_serializer.rb index 06a85d65aa6..1a447350af8 100644 --- a/plugins/chat/app/serializers/chat/in_reply_to_serializer.rb +++ b/plugins/chat/app/serializers/chat/in_reply_to_serializer.rb @@ -10,5 +10,9 @@ module Chat def user object.user || Chat::NullUser.new end + + def excerpt + object.excerpt || object.build_excerpt + end end end diff --git a/plugins/chat/spec/serializer/chat/in_reply_to_serializer_spec.rb b/plugins/chat/spec/serializer/chat/in_reply_to_serializer_spec.rb index 6c2e8c0409a..0bc164f41e9 100644 --- a/plugins/chat/spec/serializer/chat/in_reply_to_serializer_spec.rb +++ b/plugins/chat/spec/serializer/chat/in_reply_to_serializer_spec.rb @@ -30,5 +30,10 @@ RSpec.describe Chat::InReplyToSerializer do it "censors words" do expect(serializer.as_json[:excerpt]).to eq("ok ■■■■■") end + + it "builds an excerpt for replied to message if it doesn’t have one" do + message.update!(excerpt: nil) + expect(serializer.as_json[:excerpt]).to eq(message.build_excerpt) + end end end