Serialize tag flares correctly in Homepage::ArticleSerializer (#13537)

This commit is contained in:
rhymes 2021-04-27 16:07:05 +02:00 committed by GitHub
parent 2fa501d171
commit 4ca995e1a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View file

@ -16,7 +16,7 @@ module Homepage
attribute :video_duration_string, &:video_duration_in_minutes
attribute :published_at_int, ->(article) { article.published_at.to_i }
attribute :tag_list, ->(article) { article.cached_tag_list.to_s.split(", ") }
attribute :tag_flare, ->(article, params) { params[:tag_flares][article.id] }
attribute :flare_tag, ->(article, params) { params.dig(:tag_flares, article.id) }
attribute :user do |article|
user = article.user

View file

@ -12,8 +12,8 @@ RSpec.describe Homepage::FetchArticles, type: :service do
result = described_class.call.first
keys = %i[
class_name cloudinary_video_url comments_count id path public_reactions_count
published_at_int readable_publish_date reading_time tag_flare tag_list title
class_name cloudinary_video_url comments_count flare_tag id path public_reactions_count
published_at_int readable_publish_date reading_time tag_list title
user user_id video_duration_string
]
expect(result.keys.sort).to eq(keys)
@ -28,7 +28,7 @@ RSpec.describe Homepage::FetchArticles, type: :service do
expect(result[:published_at_int]).to eq(article.published_at.to_i)
expect(result[:readable_publish_date]).to eq(article.readable_publish_date)
expect(result[:reading_time]).to eq(article.reading_time)
expect(result[:tag_flare]).to eq(Homepage::FetchTagFlares.call([article])[article.id])
expect(result[:flare_tag]).to eq(Homepage::FetchTagFlares.call([article])[article.id])
expect(result[:tag_list]).to eq(article.tag_list)
expect(result[:title]).to eq(article.title)