mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 23:23:45 +08:00
036a24cf30
A small fix for Basic User Serializers where some downstream serializers do not correctly set user objects. This caused some issues in certain plugins that depend on the user method to return a user.
31 lines
985 B
Ruby
31 lines
985 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe BasicUserSerializer do
|
|
describe '#as_json' do
|
|
let(:user) { Fabricate.build(:user) }
|
|
let(:serializer) { BasicUserSerializer.new(user, scope: Guardian.new(user), root: false) }
|
|
let(:json) { serializer.as_json }
|
|
|
|
it "returns the username" do
|
|
expect(json[:username]).to eq(user.username)
|
|
expect(json[:name]).to eq(user.name)
|
|
expect(json[:avatar_template]).to eq(user.avatar_template)
|
|
end
|
|
|
|
describe 'extended serializers' do
|
|
let(:post_action) { Fabricate(:post_action, user: user) }
|
|
let(:serializer) { PostActionUserSerializer.new(post_action, scope: Guardian.new(user), root: false) }
|
|
it "returns the user correctly" do
|
|
expect(serializer.user.username).to eq(user.username)
|
|
end
|
|
end
|
|
|
|
it "doesn't return the name it when `enable_names` is false" do
|
|
SiteSetting.enable_names = false
|
|
expect(json[:name]).to eq(nil)
|
|
end
|
|
end
|
|
end
|