Fix incorrect Playwright upload mapping to QA Sphere runs#61
Fix incorrect Playwright upload mapping to QA Sphere runs#61ramilamparo wants to merge 6 commits intomainfrom
Conversation
Three bugs caused Playwright test results to map to wrong QA Sphere test cases, producing misleading run summaries: 1. Marker matching used substring includes, so QS1-104 incorrectly matched QS1-10427. Replace with word-boundary regex. 2. Playwright parser only used the first "test case" annotation per test, dropping additional ones. Now fans out one TestCaseResult per annotation. 3. Upload message said "Uploaded N test cases" conflating result count with target test case count. Now reports both: "Uploaded X results to Y test cases". Additionally, deduplicate file uploads when multiple results reference the same attachment. Previously each result uploaded its own copy. Now uploads each unique file once and reuses the URL. Progress message shows duplicates skipped count. Closes Hypersequent/tms-issues#2394
This comment was marked as resolved.
This comment was marked as resolved.
86df41e to
44ea8dd
Compare
This comment was marked as outdated.
This comment was marked as outdated.
44ea8dd to
86df41e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
|
Claude finished @ramilamparo's task in 4m 33s —— View job Claude finished reviewing this PR
SummaryGood PR — the four fixes (exact marker matching, multi-annotation fan-out, upload message clarity, attachment dedup) are correct and well-tested. Posted two new inline findings:
Minimized 3 outdated bot review bodies and resolved 1 duplicate bot thread. The existing codex comment on |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
|
Claude finished @ramilamparo's task in 4m 52s —— View job
Review SummaryGood PR — the four fixes (exact marker matching, multi-annotation fan-out, upload message clarity, attachment dedup) are correct and well-tested. One new inline finding posted; addressed threads from prior reviews resolved. New Finding
Addressed (resolved)
Minimized 4 outdated bot review bodies. |
There was a problem hiding this comment.
Good PR — the four fixes (exact marker matching, multi-annotation fan-out, upload message clarity, attachment dedup) are correct and well-tested. The asymmetric regex boundary ((?<![a-zA-Z0-9]) lookbehind + (?!\d) lookahead) is a good design choice for the prefix-collision problem while keeping underscore/bracket-adjacent markers working.
One new inline finding on unescaped HTML in makeListHtml. Prior inline comments on annotation dedup, shared attachment array, and \b underscore behavior have all been addressed by commits in this PR — the code now uses [...new Set(markers)] for dedup, [...tcaseAttachment] for cloning, and (?<![a-zA-Z0-9])...(?!\d) instead of \b.
|
Claude finished @ramilamparo's task in 4m 4s —— View job
Review SummaryGood PR — all four fixes (exact marker matching, multi-annotation fan-out, upload message clarity, attachment dedup) are correct and well-tested. All prior review feedback has been addressed in the latest commits:
No new noteworthy issues found. Minimized 5 outdated bot review summaries. |
There was a problem hiding this comment.
Good PR — all four fixes are correct, well-motivated, and well-tested. Prior review feedback (annotation dedup, shared array cloning, filePath normalization via resolve(), escapeHtml in makeListHtml, asymmetric regex boundary) has all been addressed in the latest commits.
No new noteworthy issues found. The code is ready to merge.
|
@codex review |
|
Codex Review: Didn't find any major issues. Swish! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Fixes three bugs that caused
playwright-json-uploadto map results to wrong QA Sphere test cases, producing misleading run summaries (e.g., 33 passed / 1 failed instead of 140 passed / 2 failed):nameMatchesTCase()used substring.includes(), soQS1-104incorrectly matchedQS1-10427. Replaced with\bword-boundary regex.test caseannotation per test, dropping additional ones. Now produces oneTestCaseResultper annotation."Uploaded N test cases"to"Uploaded X results to Y test cases"so discrepancies between result count and target test case count are visible.filePathtoAttachmenttype for dedup keying. Progress shows"(N duplicates skipped)".Test plan
nameMatchesTCaseprefix collision tests (QS1-104 vs QS1-10427)Closes Hypersequent/tms-issues#2394
🤖 Generated with Claude Code