FIX: featured links are 'undefined' in suggested topics
This commit is contained in:
parent
feec968801
commit
179ecee11e
|
@ -7,7 +7,7 @@ class SuggestedTopicSerializer < ListableTopicSerializer
|
||||||
has_one :user, serializer: BasicUserSerializer, embed: :objects
|
has_one :user, serializer: BasicUserSerializer, embed: :objects
|
||||||
end
|
end
|
||||||
|
|
||||||
attributes :archetype, :like_count, :views, :category_id, :tags, :featured_link
|
attributes :archetype, :like_count, :views, :category_id, :tags, :featured_link, :featured_link_root_domain
|
||||||
has_many :posters, serializer: SuggestedPosterSerializer, embed: :objects
|
has_many :posters, serializer: SuggestedPosterSerializer, embed: :objects
|
||||||
|
|
||||||
def posters
|
def posters
|
||||||
|
@ -29,4 +29,8 @@ class SuggestedTopicSerializer < ListableTopicSerializer
|
||||||
def featured_link
|
def featured_link
|
||||||
object.featured_link
|
object.featured_link
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def include_featured_link_root_domain?
|
||||||
|
SiteSetting.topic_featured_link_enabled && object.featured_link
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe SuggestedTopicSerializer do
|
||||||
|
let(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
|
describe '#featured_link and #featured_link_root_domain' do
|
||||||
|
let(:featured_link) { 'http://meta.discourse.org' }
|
||||||
|
let(:topic) { Fabricate(:topic, featured_link: featured_link, category: Fabricate(:category, topic_featured_link_allowed: true)) }
|
||||||
|
subject(:json) { described_class.new(topic, scope: Guardian.new(user), root: false).as_json }
|
||||||
|
|
||||||
|
context 'when topic featured link is disable' do
|
||||||
|
before do
|
||||||
|
SiteSetting.topic_featured_link_enabled = true
|
||||||
|
topic
|
||||||
|
SiteSetting.topic_featured_link_enabled = false
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should not return featured link attrs' do
|
||||||
|
expect(json[:featured_link]).to eq(nil)
|
||||||
|
expect(json[:featured_link_root_domain]).to eq(nil)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when topic featured link is enabled' do
|
||||||
|
before do
|
||||||
|
SiteSetting.topic_featured_link_enabled = true
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should return featured link attrs' do
|
||||||
|
expect(json[:featured_link]).to eq(featured_link)
|
||||||
|
expect(json[:featured_link_root_domain]).to eq('discourse.org')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue