This repository has been archived on 2023-03-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
osr-discourse-src/spec/serializers/basic_user_serializer_spec.rb
T
Jeff Wong 036a24cf30 FIX: correct user serializer user method for extended serializer (#8590)
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.
2019-12-19 09:48:01 -08:00

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