FIX: show user avatar on User summary page (#6872)

This commit is contained in:
Arpit Jalan 2019-01-11 23:39:06 +05:30 committed by GitHub
parent 83f0afbec9
commit 5e0f9eadb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 3 deletions

View File

@ -18,8 +18,12 @@ class UserSummarySerializer < ApplicationSerializer
end
end
class UserWithCountSerializer < BasicUserSerializer
attributes :count, :name
class UserWithCountSerializer < ApplicationSerializer
attributes :id, :username, :name, :count, :avatar_template
def avatar_template
User.avatar_template(object[:username], object[:uploaded_avatar_id])
end
end
class CategoryWithCountsSerializer < ApplicationSerializer

View File

@ -22,6 +22,8 @@ describe BasicUserSerializer do
expect(json[:name]).to be_blank
end
it "returns the avatar_template" do
expect(json[:avatar_template]).to be_present
end
end
end

View File

@ -0,0 +1,24 @@
require 'rails_helper'
describe UserSummarySerializer do
it "returns expected data" do
UserActionCreator.enable
user = Fabricate(:user)
liked_post = create_post
PostAction.act(user, liked_post, PostActionType.types[:like])
guardian = Guardian.new(user)
summary = UserSummary.new(user, guardian)
serializer = UserSummarySerializer.new(summary, scope: guardian, root: false)
json = serializer.as_json
expect(json[:likes_given]).to be_present
expect(json[:likes_received]).to be_present
expect(json[:posts_read_count]).to be_present
expect(json[:topic_count]).to be_present
expect(json[:time_read]).to be_present
expect(json[:most_liked_users][0][:count]).to be_present
expect(json[:most_liked_users][0][:username]).to be_present
expect(json[:most_liked_users][0][:avatar_template]).to be_present
end
end