discourse/spec/system/page_objects/components/post.rb
Natalie Tay a6d3597758
FIX: Return the post's raw when GET /post (#33325)
Previously, there was no way to edit post localizations, so the
`post.raw` was always returning the localized value. With localization
UI and endpoints now, we want to always return the original raw and the
composer to reflect the original value.

https://github.com/discourse/discourse/pull/33184 will handle the
decision to show the post edit composer or the post localization
composer.
2025-06-24 22:11:02 +08:00

75 lines
1.7 KiB
Ruby
Vendored

# 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 has_cooked_content?(value)
post.find(".contents > .cooked").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
private
def post_id
"#post_#{@post_number}"
end
end
end
end