discourse/spec/system/page_objects/pages/about.rb
Osama Sayegh 3704a917a9
FIX: Don't show blank space when there's no banner image (#28366)
This commit fixes a bug in the redesigned about page where if there's no banner image configured for the page, the top of the page where the banner goes is occupied with large white space. Additionally, this commit also fixes a related bug in the admin config area for the /about page where it's not possible to remove the uploaded banner image.
2024-08-14 10:34:34 +03:00

73 lines
2.1 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 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