2024-07-23 06:35:18 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module PageObjects
|
|
|
|
module Pages
|
|
|
|
class About < PageObjects::Pages::Base
|
|
|
|
def visit
|
|
|
|
page.visit("/about")
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_header_title?(title)
|
|
|
|
has_css?(".about__header h3", text: title)
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_short_description?(content)
|
|
|
|
has_css?(".about__header .short-description", text: content)
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_banner_image?(upload)
|
|
|
|
has_css?("img.about__banner[src=\"#{GlobalPath.full_cdn_url(upload.url)}\"]")
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_members_count?(count, formatted_number)
|
|
|
|
element = find(".about__stats-item.members span")
|
|
|
|
element.has_text?(I18n.t("js.about.member_count", count:, formatted_number:))
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_admins_count?(count, formatted_number)
|
|
|
|
element = find(".about__stats-item.admins span")
|
|
|
|
element.has_text?(I18n.t("js.about.admin_count", count:, formatted_number:))
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_moderators_count?(count, formatted_number)
|
|
|
|
element = find(".about__stats-item.moderators span")
|
|
|
|
element.has_text?(I18n.t("js.about.moderator_count", count:, formatted_number:))
|
|
|
|
end
|
2024-08-07 16:11:41 +08:00
|
|
|
|
|
|
|
def has_site_created_less_than_1_month_ago?
|
|
|
|
site_age_stat_element.has_text?(I18n.t("js.about.site_age.less_than_one_month"))
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_site_created_in_months_ago?(months)
|
|
|
|
site_age_stat_element.has_text?(I18n.t("js.about.site_age.month", count: months))
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_site_created_in_years_ago?(years)
|
|
|
|
site_age_stat_element.has_text?(I18n.t("js.about.site_age.year", count: years))
|
|
|
|
end
|
|
|
|
|
|
|
|
def site_activities
|
|
|
|
PageObjects::Components::AboutPageSiteActivity.new(find(".about__activities"))
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def site_age_stat_element
|
|
|
|
find(".about__stats-item.site-creation-date span")
|
|
|
|
end
|
2024-07-23 06:35:18 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|