DEV: Implement glimmer topic-list (#26743)

(experimental)

The initial implementation of glimmer topic-list and related components. Does not include new APIs and isn't compatible with existing customization. That's gonna come in future PRs.

Enabled by adding groups to `experimental_glimmer_topic_list_groups` setting.
This commit is contained in:
Jarek Radosz
2024-05-21 14:36:15 +02:00
committed by GitHub
parent eb2df2b7d6
commit 87769a83c4
33 changed files with 1795 additions and 68 deletions

View File

@@ -3,6 +3,8 @@
module PageObjects
module Components
class CategoryList < PageObjects::Components::Base
TOPIC_LIST_ITEM_SELECTOR = ".category-list.with-topics .featured-topic"
def has_category?(category)
page.has_css?("tr[data-category-id='#{category.id}']")
end
@@ -30,6 +32,10 @@ module PageObjects
def click_topic(topic)
page.find("a", text: topic.title).click
end
def topic_list_item_class(topic)
"#{TOPIC_LIST_ITEM_SELECTOR}[data-topic-id='#{topic.id}']"
end
end
end
end

View File

@@ -228,6 +228,10 @@ module PageObjects
post_by_number(post).has_css?(".read-state.read", visible: :all, wait: 3)
end
def has_suggested_topic?(topic)
page.has_css?("#suggested-topics .topic-list-item[data-topic-id='#{topic.id}']")
end
def move_to_public_category(category)
click_admin_menu_button
find(".topic-admin-menu-content li.topic-admin-convert").click