Fix E2E timeout: WaitForPreseasonQuestionDiffRows fails when section has no data - #278
Merged
Merged
Conversation
Copilot
AI
changed the title
[WIP] Fix failing GitHub Actions job run-e2e-test
Fix E2E timeout: WaitForPreseasonQuestionDiffRows fails when section has no data
Jul 6, 2026
PhilipWoulfe
marked this pull request as ready for review
July 6, 2026 21:13
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes an E2E test timeout on the Admin Migration Runs page by updating the Selenium wait logic to treat the “Preseason Question Diffs” section as loaded even when it renders an empty-state message instead of a populated table.
Changes:
- Renamed/replaced the E2E page-object wait method to
WaitForPreseasonQuestionDiffSection()and updated its XPath to match either the table variant or the empty-state paragraph. - Updated the flow test to call the renamed wait method.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tests/F1.E2E.Tests/Pages/MigrationRunsPage.cs | Updates the wait selector to recognize the preseason question diffs section in both “has data” and “empty state” render paths. |
| tests/F1.E2E.Tests/Flows/MigrationRunsFlowsTests.cs | Updates the test flow to use the renamed section-wait method. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+149
to
+152
| var sectionSelector = By.XPath( | ||
| "//h4[normalize-space()='Preseason Question Diffs']" + | ||
| "/following-sibling::*[1]" + | ||
| "[self::div[.//tbody/tr] or self::p[normalize-space()='No preseason question diffs available for this run.']]"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AdminMigrationRuns_ShouldLoadRun_AndShowResultTableswas timing out (30s) becauseWaitForPreseasonQuestionDiffRows()used an XPath that only matched when the section had actual<tbody><tr>rows. When the first migration run has zero preseason question diffs, the Blazor component renders an empty-state<p>instead — the selector found nothing and timed out.Changes
MigrationRunsPage.cs— replacedWaitForPreseasonQuestionDiffRows()withWaitForPreseasonQuestionDiffSection(), updating the XPath to accept either a populated table or the empty-state paragraph, consistent withWaitForParticipantComparisonSection/WaitForRaceComparisonSection/WaitForPickComparisonSectionMigrationRunsFlowsTests.cs— updated call site to use the renamed method