# frozen_string_literal: true RSpec.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