discourse/spec/system/page_objects/pages/about.rb
Osama Sayegh 722c008adb
FEATURE: Add 'Edit this page' link at the top of the new /about page (#28766)
This commit adds a link to the top of the new /about page, shown to admins only, to allow them to easily navigate to `/admin/config/about` where they can edit the /about page.

Internal topic: t/137546.
2024-09-06 13:35:30 +03:00

85 lines
2.3 KiB
Ruby

# 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_no_banner_image?
has_no_css?("img.about__banner")
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
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 edit_link
find(".edit-about-page")
end
def has_edit_link?
has_css?(".edit-about-page")
end
def has_no_edit_link?
has_no_css?(".edit-about-page")
end
def site_activities
PageObjects::Components::AboutPageSiteActivity.new(find(".about__activities"))
end
def admins_list
PageObjects::Components::AboutPageUsersList.new(find(".about__admins"))
end
def moderators_list
PageObjects::Components::AboutPageUsersList.new(find(".about__moderators"))
end
private
def site_age_stat_element
find(".about__stats-item.site-creation-date span")
end
end
end
end