Skip to content

Commit 404e259

Browse files
authored
DEV: Fix flaky system tests (#32720)
We were not correctly relying on capybara matchers leading to test flakiness ``` ailure/Error: super Capybara::Playwright::Node::StaleReferenceError: Element is not attached to the DOM /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-playwright-driver-0.5.6/lib/capybara/playwright/node.rb:91:in `rescue in assert_element_not_stale' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-playwright-driver-0.5.6/lib/capybara/playwright/node.rb:81:in `assert_element_not_stale' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-playwright-driver-0.5.6/lib/capybara/playwright/node.rb:124:in `visible_text' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-3.40.0/lib/capybara/node/element.rb:60:in `block in text' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-3.40.0/lib/capybara/node/base.rb:84:in `synchronize' ./spec/rails_helper.rb:421:in `synchronize' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-3.40.0/lib/capybara/node/element.rb:60:in `text' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-3.40.0/lib/capybara/result.rb:44:in `each' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/capybara-3.40.0/lib/capybara/result.rb:44:in `each' ./spec/system/page_objects/modals/sidebar_edit_categories.rb:45:in `map' ./spec/system/page_objects/modals/sidebar_edit_categories.rb:45:in `has_categories?' ./spec/system/editing_sidebar_categories_navigation_spec.rb:161:in `block (2 levels) in <main>' ```
1 parent 736f247 commit 404e259

File tree

1 file changed

+1
-9
lines changed

1 file changed

+1
-9
lines changed

spec/system/page_objects/modals/sidebar_edit_categories.rb

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,7 @@ def has_no_categories?
3434
end
3535

3636
def has_categories?(categories)
37-
category_names = categories.map(&:name)
38-
39-
categories =
40-
all(
41-
".sidebar-categories-form .sidebar-categories-form__category-row",
42-
count: category_names.length,
43-
)
44-
45-
expect(categories.map(&:text)).to eq(category_names)
37+
has_css?(".sidebar-categories-form", text: categories.map(&:name).join("\n"))
4638
end
4739

4840
def toggle_category_checkbox(category)

0 commit comments

Comments
 (0)