mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 08:43:45 +08:00
3d387d7891
Staff viewing the user preferences page of other users did not see the selected flair because that information was not serialized for them.
82 lines
1.9 KiB
Ruby
82 lines
1.9 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe WebHookUserSerializer do
|
|
let(:user) do
|
|
user = Fabricate(:user)
|
|
SingleSignOnRecord.create!(user_id: user.id, external_id: '12345', last_payload: '')
|
|
user
|
|
end
|
|
|
|
fab!(:admin) { Fabricate(:admin) }
|
|
|
|
let :serializer do
|
|
WebHookUserSerializer.new(user, scope: Guardian.new(admin), root: false)
|
|
end
|
|
|
|
it "should include relevant user info" do
|
|
payload = serializer.as_json
|
|
expect(payload[:email]).to eq(user.email)
|
|
expect(payload[:external_id]).to eq('12345')
|
|
end
|
|
|
|
it 'should only include the required keys' do
|
|
expect(serializer.as_json.keys).to contain_exactly(
|
|
:id,
|
|
:username,
|
|
:name,
|
|
:avatar_template,
|
|
:email,
|
|
:secondary_emails,
|
|
:last_posted_at,
|
|
:last_seen_at,
|
|
:created_at,
|
|
:muted,
|
|
:trust_level,
|
|
:moderator,
|
|
:admin,
|
|
:title,
|
|
:badge_count,
|
|
:time_read,
|
|
:recent_time_read,
|
|
:primary_group_id,
|
|
:primary_group_name,
|
|
:flair_group_id,
|
|
:flair_name,
|
|
:flair_url,
|
|
:flair_bg_color,
|
|
:flair_color,
|
|
:featured_topic,
|
|
:staged,
|
|
:pending_count,
|
|
:profile_view_count,
|
|
:second_factor_enabled,
|
|
:can_upload_profile_header,
|
|
:can_upload_user_card_background,
|
|
:post_count,
|
|
:locale,
|
|
:muted_category_ids,
|
|
:regular_category_ids,
|
|
:watched_tags,
|
|
:watching_first_post_tags,
|
|
:tracked_tags,
|
|
:muted_tags,
|
|
:tracked_category_ids,
|
|
:watched_category_ids,
|
|
:watched_first_post_category_ids,
|
|
:system_avatar_template,
|
|
:muted_usernames,
|
|
:ignored_usernames,
|
|
:allowed_pm_usernames,
|
|
:mailing_list_posts_per_day,
|
|
:user_notification_schedule,
|
|
:external_id,
|
|
:featured_user_badge_ids,
|
|
:invited_by,
|
|
:groups,
|
|
:user_option
|
|
)
|
|
end
|
|
end
|