fix(test-suite): pre-select existing tests + correct Table filter scope (#28400)#28543
Merged
Merged
Conversation
Contributor
|
shah-harshit
approved these changes
May 29, 2026
Contributor
🟡 Playwright Results — all passed (16 flaky)✅ 4255 passed · ❌ 0 failed · 🟡 16 flaky · ⏭️ 88 skipped
🟡 16 flaky test(s) (passed on retry)
How to debug locally# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip # view trace |
Contributor
|
Failed to cherry-pick changes to the 1.12.10 branch. |
Code Review ✅ ApprovedPre-selects existing test cases by ID and ensures the Table filter correctly retrieves column-level tests by enabling OptionsDisplay: compact → Showing less information. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
Contributor
|
Changes have been cherry-picked to the 1.13 branch. |
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.



Fixes #28400. Also fixes a related — and previously unreported — bug in the same modal's Table filter that surfaced while investigating.
1. Already-added test cases not pre-selected (#28400)
Cause
TestSuiteDetailsPagenever requested thetestsfield, so it passedselectedTest = testCaseResult.map(t => t.name)— only the currently visible page of names.AddTestCaseListdeclared anexistingTest: EntityReference[]prop but never consumed it; hydration was destructive and name-based.Fix
TestSuiteDetailsPage: requestTabSpecificField.TESTSsotestSuite.testscarries the full reference list; refetch the suite after a successful add; drop the paginatedselectedTest.AddTestCaseList: seedselectedItemsfromexistingTestbyidviaseedSelectedFromExistingTest; merge-and-upgrade infetchTestCasesinstead of replacing. Legacy name-based path preserved forBundleSuiteForm.2. Table filter silently drops column-level tests
Cause —
TestCaseResource.executeTestCaseSearchparses the UI'sentityLink=<#E::table::FQN>and rewrites it intoentityFQN=FQNon the search filter.SearchListFilter.getTestCaseConditionthen chooses between exact-match and prefix-match based on theincludeAllTestsflag:Column-level tests have
entityFQN = "<table>.<column>", so the default exact-match drops them all. Picking a table with only column-level tests returned zero results.Fix — pair
includeAllTests: truewithentityLinkin the modal's request. The semantic ("all tests under this table") matches the UI intent exactly; the backend flag exists for precisely this purpose. No backend change.Sibling-prefix collisions are not possible: the prefix uses
entityFQN + "."soordersmatchesorders.colbut notorders_archive.Type of change
Tests
AddTestCaseList.*andTestSuiteDetailsPage.*pass. New tests added for: (a) pre-selection byexistingTest, (b) persistence after user adds an extra pick, (c)seedSelectedFromExistingTesthelper, (d) Table filter must sendincludeAllTests=true, (e)includeAllTestsis omitted when no Table filter is set.Status=Queued → 0,Column=non-existent → 0,Table=non-existent → 0,q=*no_match* → 0). Includes a regression check that demonstrates the broken pre-fix behavior (Table=orderswithoutincludeAllTestsreturns 1 instead of 4).checked=true.&includeAllTests=trueand the modal renders all 4 tests on the selected table (was 0).