mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-08 18:35:46 +08:00
The content localization feature we have (e.g. on meta) currently assumes that everyone has set their user preferences language to a language that we support. If Eleni sets Greek as her Interface language, it is a non-supported language. Posts written in Chinese or French will remain in Chinese or French, as there is no Greek translation. The commit shows Eleni localized posts in English (i.e. site default locale) when a post is written in a different language. A site setting `content_localization_use_default_locale_when_unsupported` is default true and introduced.
87 lines
1.9 KiB
Ruby
87 lines
1.9 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module PageObjects
|
|
module Components
|
|
class Post < PageObjects::Components::Base
|
|
def initialize(post_number)
|
|
@post_number = post_number
|
|
end
|
|
|
|
def post
|
|
find(post_id)
|
|
end
|
|
|
|
def reply
|
|
post.find(".reply.create").click
|
|
end
|
|
|
|
def edit
|
|
post.find(".show-more-actions").click
|
|
post.find("button.edit").click
|
|
end
|
|
|
|
def show_replies
|
|
post.find(".show-replies").click
|
|
end
|
|
|
|
def load_more_replies
|
|
find("#embedded-posts__bottom--#{@post_number} .load-more-replies").click
|
|
end
|
|
|
|
def cooked_content
|
|
post.find(".contents > .cooked")
|
|
end
|
|
|
|
def has_cooked_content?(value)
|
|
cooked_content.has_content?(value)
|
|
end
|
|
|
|
def has_replies?(count: nil)
|
|
find("#embedded-posts__bottom--#{@post_number}").has_css?(".reply", count:)
|
|
end
|
|
|
|
def has_more_replies?
|
|
find("#embedded-posts__bottom--#{@post_number}").has_css?(".load-more-replies")
|
|
end
|
|
|
|
def has_loaded_all_replies?
|
|
find("#embedded-posts__bottom--#{@post_number}").has_no_css?(".load-more-replies")
|
|
end
|
|
|
|
def visible?
|
|
has_css?(post_id)
|
|
end
|
|
|
|
def show_parent_posts
|
|
post.find(".reply-to-tab").click
|
|
end
|
|
|
|
def has_parent_posts?(count: nil)
|
|
find("#embedded-posts__top--#{@post_number}").has_css?(".reply", count:)
|
|
end
|
|
|
|
def has_no_parent_post_content?(content)
|
|
find("#embedded-posts__top--#{@post_number}").has_no_content?(content)
|
|
end
|
|
|
|
def post_language
|
|
post.find(".post-info.post-language").hover
|
|
find(".post-language-content")
|
|
end
|
|
|
|
def open_post_history
|
|
post.find(".post-info.edits").click
|
|
end
|
|
|
|
def mentions_of(user)
|
|
post.all("a.mention[href='/u/#{user.username}']")
|
|
end
|
|
|
|
private
|
|
|
|
def post_id
|
|
"#post_#{@post_number}"
|
|
end
|
|
end
|
|
end
|
|
end
|