DEV: return user IDs on the user search route (#21206)
We call the `/u/search/users` URL when autocompleting users. It returns user's name, username and avatar template, but not user ID. We need it to return user IDs in order to display user status in certain situations. I could add ID to FoundUserWithStatusSerializer, so it will be added only if user status is enabled in site settings. But I feel that it's good to always return it, it's not a lot of data comparing to what we already return, and it should be useful in other scenarios.
This commit is contained in:
parent
b59e0b22f4
commit
0ea5ae86ff
|
@ -1,7 +1,7 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class FoundUserSerializer < ApplicationSerializer
|
class FoundUserSerializer < ApplicationSerializer
|
||||||
attributes :username, :name, :avatar_template
|
attributes :id, :username, :name, :avatar_template
|
||||||
|
|
||||||
def include_name?
|
def include_name?
|
||||||
SiteSetting.enable_names?
|
SiteSetting.enable_names?
|
||||||
|
|
|
@ -4,6 +4,14 @@ RSpec.describe FoundUserSerializer do
|
||||||
fab!(:user) { Fabricate(:user) }
|
fab!(:user) { Fabricate(:user) }
|
||||||
let(:serializer) { described_class.new(user, root: false) }
|
let(:serializer) { described_class.new(user, root: false) }
|
||||||
|
|
||||||
|
describe "#id" do
|
||||||
|
it "returns user id" do
|
||||||
|
json = serializer.as_json
|
||||||
|
expect(json.keys).to include :id
|
||||||
|
expect(json[:id]).to eq(user.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "#name" do
|
describe "#name" do
|
||||||
it "returns name if enabled in site settings" do
|
it "returns name if enabled in site settings" do
|
||||||
SiteSetting.enable_names = true
|
SiteSetting.enable_names = true
|
||||||
|
|
Loading…
Reference in New Issue