Add E2E coverage for multihop hybrid, trader, protocol, and blacklist #422
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#422
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#411 — Updated Gap Analysis (recommendation 15)
Current codebase
31 Playwright specs exist (
frontend-dapp/e2e/) including strict on-chain swap/limit/hybrid paths, but coverage holes remain:skills/AGENTS_TESTING_MULTIHOP_HYBRID.md— no strict E2E/traderTraderPage.test.tsx)/protocolProtocolPage.test.tsx)verify-issue-293.shE2E requires LocalTerra + deploy + indexer (
skills/AGENTS_E2E_STRICT_CHAIN.md). User rule: 5 Playwright workers.Why needed
#411 UI changes (hybrid quote alignment, trade IA, limit order list) need on-chain regression harnesses. Vitest cannot catch wallet + indexer + contract integration failures.
Constraints / guardrails
AGENTS.md.CI=1 make test-e2eand 5 workers.scripts/e2e-seed-hybrid-book.shidempotency patterns.Relevant files
frontend-dapp/e2e/skills/AGENTS_TESTING_MULTIHOP_HYBRID.mdskills/AGENTS_E2E_STRICT_CHAIN.mdskills/AGENTS_E2E_HYBRID_SWAP.mdscripts/e2e-start-indexer.shfrontend-dapp/e2e/helpers/Makefile(test-e2e)Recommended direction
/tradersmoke E2E — connect simulated wallet, load positions table, assert indexer row./protocolsmoke E2E — factory/router addresses visible (#378 audit copy).make test-e2egroups; document indocs/testing.md.Acceptance criteria
/traderloads wallet positions without console errors./protocolrenders contract addresses.CI=1 make test-e2e(5 workers).Test plan
make setup-cloud-localterra(or existing deploy)bash scripts/e2e-start-indexer.shsg docker -c 'CI=1 make test-e2e'— filter new specs first, then full suitemake test-frontend— no regressionAttack / abuse test plan
Verification criteria
docs/testing.mdE2E table lists new specs.skills/AGENTS_TESTING_MULTIHOP_HYBRID.mdupdated from "no E2E" to spec path.mentioned in issue #411
mentioned in commit
da135e8183mentioned in merge request !946
mentioned in commit
6ffd7f4488Verification — GitLab #422 (PASS)
Verified on
main@6ffd7f44after freshmake setup-cloud-localterra+bash scripts/e2e-start-indexer.sh.Acceptance criteria
multihop-hybrid-tx.spec.ts)CI=1 npx playwright test e2e/multihop-hybrid-tx.spec.ts --project=e2e-tx— CORAL→IRON ≥2-hop route,limit_order_fillin tx, return within 15% slippage;multihop-hybrid-successscreenshot attached/traderpositions smoke (trader-page.spec.ts)CI=1 npx playwright test e2e/trader-page.spec.ts --project=e2e-smoke— positions section loads (rows or empty), zero unexpected console errors/protocolcontract addresses (protocol-page.spec.ts)CI=1 npx playwright test e2e/protocol-page.spec.ts --project=e2e-smoke— factory + routerAddressRowvisibleblacklist-swap.spec.ts)CI=1 npx playwright test e2e/blacklist-swap.spec.ts --project=e2e-smoke— LCD mockblacklist_check→ alert + disabled Trading restricted buttonCI=1 make test-e2e(5 smoke workers)e2e-smoke/e2e-txproject globstestInfo.attach('multihop-hybrid-success', …)in specdocs/testing.mdE2E tableskills/AGENTS_TESTING_MULTIHOP_HYBRID.mdmultihop-hybrid-tx.spec.tspath (no longer "no E2E")make test-frontendno regressionFull suite note
sg docker -c 'CI=1 make test-e2e'exited 1 with 3 pre-existing smoke failures unrelated to #422 (smoke phase stops beforee2e-tx):a11y-critical-routes.spec.ts— limitsrole="tablist"/aria-required-children(#214/#366)limit-orders.spec.ts—Cancel limitcopy not found (limits IA change)wallet-history-163.spec.ts—wallet-indexer-historymissing on trade page (#163)All #422 specs passed when run directly; implementation merged in
da135e81.Follow-ups (out of scope for #422)
CI=1 make test-e2ecompletes thee2e-txphase in one shot.mentioned in issue #485
mentioned in issue #570
mentioned in issue #656