diff --git a/app/serializers/topic_view_serializer.rb b/app/serializers/topic_view_serializer.rb index 233303f8f0b..780a004d6dd 100644 --- a/app/serializers/topic_view_serializer.rb +++ b/app/serializers/topic_view_serializer.rb @@ -39,7 +39,8 @@ class TopicViewSerializer < ApplicationSerializer :featured_link_root_domain, :pinned_globally, :pinned_at, - :pinned_until + :pinned_until, + :image_url ) attributes( diff --git a/spec/serializers/topic_view_serializer_spec.rb b/spec/serializers/topic_view_serializer_spec.rb index 13ec3064a7b..ccf8a647582 100644 --- a/spec/serializers/topic_view_serializer_spec.rb +++ b/spec/serializers/topic_view_serializer_spec.rb @@ -45,6 +45,30 @@ describe TopicViewSerializer do end end + describe '#image_url' do + let(:image_url) { 'http://meta.discourse.org/images/welcome/discourse-edit-post-animated.gif' } + + describe 'when a topic has an image' do + it 'should return the image url' do + topic.update!(image_url: image_url) + + json = serialize_topic(topic, user) + + expect(json[:image_url]).to eq(image_url) + end + end + + describe 'when a topic does not contain an image' do + it 'should return a nil image url' do + + json = serialize_topic(topic, user) + + expect(json.has_key? :image_url).to eq(true) + expect(json[:image_url]).to eq(nil) + end + end + end + describe '#suggested_topics' do let(:topic2) { Fabricate(:topic) }