discourse/plugins/chat/spec/serializer/chat/chatables_serializer_spec.rb
Jan Cernik 234133bd3b
UX: Split hide_profile_and_presence user option (#29632)
It splits the hide_profile_and_presence user option and the default_hide_profile_and_presence site setting for more granular control. It keeps the option to hide the profile under /u/username/preferences/interface and adds the presence toggle in the quick user menu.

Co-authored-by: Régis Hanol <regis@hanol.fr>
2024-11-12 22:22:58 -03:00

38 lines
951 B
Ruby
Vendored
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# frozen_string_literal: true
describe Chat::ChatablesSerializer do
context "with status" do
fab!(:user_1) { Fabricate(:user) }
before do
SiteSetting.enable_user_status = true
user_1.set_status!("test", ":cat:")
end
it "includes status" do
serializer =
described_class.new(
OpenStruct.new({ users: [user_1] }),
scope: Guardian.new(Fabricate(:user)),
root: false,
)
expect(serializer.users[0]["model"][:status]).to be_present
end
context "with hidden profile" do
before { user_1.user_option.update!(hide_profile: true) }
it "doesnt include status" do
serializer =
described_class.new(
OpenStruct.new({ users: [user_1] }),
scope: Guardian.new(Fabricate(:user)),
root: false,
)
expect(serializer.users[0]["model"][:status]).to be_blank
end
end
end
end