feat: add testing scenarios and testing agent#11491
Conversation
📝 WalkthroughWalkthroughIntroduces comprehensive testing framework documentation for ShapeShift Web, including an AI-powered Testing Agent, test scenario templates, multiple end-to-end test examples covering critical flows (wallet connection, asset swaps, chain integration), feature discovery guides, and quality assurance procedures. No executable code or public API changes are introduced. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (15)
🧰 Additional context used🧠 Learnings (34)📓 Common learnings📚 Learning: 2025-10-22T22:11:22.918ZApplied to files:
📚 Learning: 2025-10-01T07:42:40.195ZApplied to files:
📚 Learning: 2025-09-13T15:31:38.011ZApplied to files:
📚 Learning: 2025-11-19T16:59:50.569ZApplied to files:
📚 Learning: 2025-11-24T21:20:04.979ZApplied to files:
📚 Learning: 2025-11-24T21:20:04.979ZApplied to files:
📚 Learning: 2025-11-24T21:20:04.979ZApplied to files:
📚 Learning: 2025-08-22T13:02:38.078ZApplied to files:
📚 Learning: 2025-11-24T21:20:04.979ZApplied to files:
📚 Learning: 2025-11-24T21:20:04.979ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-08-17T21:53:03.806ZApplied to files:
📚 Learning: 2025-11-25T21:43:10.838ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-11-12T12:18:00.863ZApplied to files:
📚 Learning: 2025-11-03T22:31:30.786ZApplied to files:
📚 Learning: 2025-08-04T15:36:25.122ZApplied to files:
📚 Learning: 2025-11-24T21:20:04.979ZApplied to files:
📚 Learning: 2025-11-24T21:20:04.979ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-11-24T21:20:57.909ZApplied to files:
📚 Learning: 2025-11-20T12:00:45.005ZApplied to files:
📚 Learning: 2025-11-24T21:20:17.804ZApplied to files:
📚 Learning: 2025-11-12T13:01:06.086ZApplied to files:
📚 Learning: 2025-08-04T16:02:27.360ZApplied to files:
📚 Learning: 2025-08-08T15:00:49.887ZApplied to files:
📚 Learning: 2025-08-08T15:00:22.321ZApplied to files:
📚 Learning: 2025-10-13T11:55:57.439ZApplied to files:
📚 Learning: 2025-08-27T09:47:06.275ZApplied to files:
🪛 Gitleaks (8.30.0).claude/test-scenarios/relay-usdc-arbitrum-to-solana.md[high] 205-205: Detected a Generic API Key, potentially exposing access to various services and sensitive operations. (generic-api-key) 🪛 LanguageTool.claude/test-scenarios/QUICK-START.md[uncategorized] ~60-~60: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL) [uncategorized] ~68-~68: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL) .claude/test-scenarios/chain-integration-template.md[style] ~428-~428: Consider removing “of” to be more concise (ALL_OF_THE) .claude/test-scenarios/markets-discovery-exploration.md[grammar] ~169-~169: Use a hyphen to join words. (QB_NEW_EN_HYPHEN) .claude/commands/test-agent.md[style] ~273-~273: Consider using a different verb for a more formal wording. (FIX_RESOLVE) 🪛 markdownlint-cli2 (0.18.1).claude/test-scenarios/QUICK-START.md79-79: Fenced code blocks should have a language specified (MD040, fenced-code-language) 87-87: Fenced code blocks should have a language specified (MD040, fenced-code-language) 96-96: Fenced code blocks should have a language specified (MD040, fenced-code-language) 196-196: Fenced code blocks should have a language specified (MD040, fenced-code-language) 296-296: Fenced code blocks should have a language specified (MD040, fenced-code-language) .claude/test-scenarios/chain-integration-template.md75-75: Fenced code blocks should have a language specified (MD040, fenced-code-language) 217-217: Fenced code blocks should have a language specified (MD040, fenced-code-language) 260-260: Fenced code blocks should have a language specified (MD040, fenced-code-language) 309-309: Fenced code blocks should have a language specified (MD040, fenced-code-language) .claude/test-scenarios/relay-usdc-arbitrum-to-solana.md233-233: Emphasis used instead of a heading (MD036, no-emphasis-as-heading) .claude/test-scenarios/solana-chain-integration.md119-119: Fenced code blocks should have a language specified (MD040, fenced-code-language) 122-122: Emphasis used instead of a heading (MD036, no-emphasis-as-heading) 515-515: Fenced code blocks should have a language specified (MD040, fenced-code-language) 598-598: Emphasis used instead of a heading (MD036, no-emphasis-as-heading) 641-641: Emphasis used instead of a heading (MD036, no-emphasis-as-heading) .claude/commands/test-agent.md164-164: Fenced code blocks should have a language specified (MD040, fenced-code-language) 280-280: Fenced code blocks should have a language specified (MD040, fenced-code-language) 285-285: Fenced code blocks should have a language specified (MD040, fenced-code-language) 290-290: Fenced code blocks should have a language specified (MD040, fenced-code-language) 295-295: Fenced code blocks should have a language specified (MD040, fenced-code-language) 300-300: Fenced code blocks should have a language specified (MD040, fenced-code-language) .claude/test-scenarios/swap-eth-to-btc-same-chain.md149-149: Emphasis used instead of a heading (MD036, no-emphasis-as-heading) 154-154: Emphasis used instead of a heading (MD036, no-emphasis-as-heading) 162-162: Emphasis used instead of a heading (MD036, no-emphasis-as-heading) .claude/test-scenarios/shapeshift-feature-discovery-report.md5-5: Bare URL used (MD034, no-bare-urls) .claude/test-scenarios/feature-discovery-guide.md11-11: Fenced code blocks should have a language specified (MD040, fenced-code-language) ⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (15)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |

Description
Include a bunch of claude files to automate testing features, discovering
It's a WIP and we will want to improve it a lot during the long run but it works quite well for now (tested on a release and a few PRs)
Issue (if applicable)
No issue
Risk
Low, nothing at runtime
Testing
/test-agentand ask him to use one of the testing scenariosEngineering
Operations
Screenshots (if applicable)
Summary by CodeRabbit
Documentation
Tests
✏️ Tip: You can customize this high-level summary in your review settings.