mirror of
https://github.com/discourse/discourse.git
synced 2025-07-10 21:12:51 +08:00

## 🔍 Overview This update includes some small improvements to post localizations. In particular: - we only show add translation button if user is part of `experimental_content_localization_allowed_groups` and `SiteSetting.experimental_content_localization` is `true` - we no longer load `post_localizations` on every post until the post localization globe is clicked - we move the post localization indicator to be an menu item in the post-action-buttons instead of being in the post meta data - we remove the `SiteSetting.content_localization_debug_allowed_groups` in favor of using a single setting: `experimental_content_localization_allowed_groups_map` ## 📷 Screenshots  
80 lines
1.8 KiB
Ruby
80 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe WebHookPostSerializer do
|
|
fab!(:admin)
|
|
fab!(:post)
|
|
|
|
def serialized_for_user(u)
|
|
WebHookPostSerializer.new(post, scope: Guardian.new(u), root: false).as_json
|
|
end
|
|
|
|
it "should only include the required keys" do
|
|
expect(serialized_for_user(admin).keys).to contain_exactly(
|
|
:id,
|
|
:name,
|
|
:username,
|
|
:avatar_template,
|
|
:created_at,
|
|
:cooked,
|
|
:post_number,
|
|
:post_type,
|
|
:posts_count,
|
|
:updated_at,
|
|
:reply_count,
|
|
:reply_to_post_number,
|
|
:quote_count,
|
|
:incoming_link_count,
|
|
:reads,
|
|
:score,
|
|
:topic_id,
|
|
:topic_slug,
|
|
:topic_title,
|
|
:category_id,
|
|
:display_username,
|
|
:primary_group_name,
|
|
:flair_name,
|
|
:flair_group_id,
|
|
:version,
|
|
:user_title,
|
|
:bookmarked,
|
|
:raw,
|
|
:moderator,
|
|
:admin,
|
|
:staff,
|
|
:user_id,
|
|
:hidden,
|
|
:trust_level,
|
|
:deleted_at,
|
|
:user_deleted,
|
|
:edit_reason,
|
|
:wiki,
|
|
:reviewable_id,
|
|
:reviewable_score_count,
|
|
:reviewable_score_pending_count,
|
|
:post_url,
|
|
:topic_posts_count,
|
|
:topic_filtered_posts_count,
|
|
:topic_archetype,
|
|
:category_slug,
|
|
)
|
|
end
|
|
|
|
it "includes category_id" do
|
|
expect(serialized_for_user(admin)[:category_id]).to eq(post.topic.category_id)
|
|
end
|
|
|
|
it "should only include deleted topic title for staffs" do
|
|
topic = post.topic
|
|
PostDestroyer.new(Discourse.system_user, post, context: "Automated testing").destroy
|
|
post.reload
|
|
|
|
[nil, post.user, Fabricate(:user)].each do |user|
|
|
expect(serialized_for_user(user)[:topic_title]).to eq(nil)
|
|
end
|
|
|
|
[Fabricate(:moderator), admin].each do |user|
|
|
expect(serialized_for_user(user)[:topic_title]).to eq(topic.title)
|
|
end
|
|
end
|
|
end
|