Testing coverage for EVM, Terra Classic, and portal (#4) #24

Merged
PlasticDigits merged 1 commit from fix/issue-4-testing-coverage into main 2026-08-11 00:38:35 +00:00
PlasticDigits commented 2026-08-10 02:29:56 +00:00 (Migrated from gitlab.com)

Summary

  • Completes GitLab #4 automated coverage for EVM, Terra Classic, and the web portal (Telegram/Solana explicitly out of scope).
  • Adds Playwright redirect.spec.ts (allowlisted localhost navigates; evil URI stays on portal) and shared web/e2e/helpers/sign-flow.ts.
  • Hardens API abuse coverage: EVM wrong-message/account unit tests, integration_evm_rejects_cross_property_replay, integration_wallet_rejects_oversized_body (413 / 64 KiB).
  • Documents invariants in skills/testing-coverage/SKILL.md; updates gap §5, README Tests, and cross-links from related skills.

Coverage narrative

Surface Proven
EVM Unit verify + multi-property + abuse integration + full mock-wallet e2e
Terra Classic ADR-036 unit vectors + submit/status + abuse + mock Keplr e2e (from #1; still green)
Portal Terms disclosure/consent unit+e2e (#2); redirect allowlist unit+SDK+e2e (#3/#4)
Security ops /update_terms + admin Bearer integration; XFF trust unit tests; authenticated e2e global-setup
Non-goals No new Telegram/Solana e2e, bot tests, OpenAPI, real-extension CI

Acceptance criteria (#4)

  • API ADR-036 Terra unit + Terra integration submit → status
  • /update_terms auth + XFF/trust tests (#3 landed)
  • Portal terms disclosure on EVM + Terra Classic
  • EVM Playwright full sign green
  • Terra Classic Playwright path (mock Keplr)
  • Redirect allowlist automated (unit + e2e)
  • CI/e2e use Bearer /update_terms (no unauth sync)
  • No new Telegram/Solana test debt

Test plan

  • cd api && cargo fmt --check && cargo clippy --all-targets -- -D warnings
  • cd api && DATABASE_URL=… cargo test (42 lib + 6 integration)
  • npm run test:sdk && npm run test:web
  • cd web && npm run test:e2e -- --workers=5 (15 passed, including redirect)
  • Retest: integration + redirect/evm-sign/terra-sign e2e

Closes #4

## Summary - Completes GitLab **#4** automated coverage for **EVM**, **Terra Classic**, and the **web portal** (Telegram/Solana explicitly out of scope). - Adds Playwright **`redirect.spec.ts`** (allowlisted localhost navigates; evil URI stays on portal) and shared `web/e2e/helpers/sign-flow.ts`. - Hardens API abuse coverage: EVM wrong-message/account unit tests, `integration_evm_rejects_cross_property_replay`, `integration_wallet_rejects_oversized_body` (413 / 64 KiB). - Documents invariants in [`skills/testing-coverage/SKILL.md`](skills/testing-coverage/SKILL.md); updates gap §5, README Tests, and cross-links from related skills. ## Coverage narrative | Surface | Proven | |---------|--------| | **EVM** | Unit verify + multi-property + abuse integration + full mock-wallet e2e | | **Terra Classic** | ADR-036 unit vectors + submit/status + abuse + mock Keplr e2e (from #1; still green) | | **Portal** | Terms disclosure/consent unit+e2e (#2); redirect allowlist unit+SDK+e2e (#3/#4) | | **Security ops** | `/update_terms` + admin Bearer integration; XFF trust unit tests; authenticated e2e global-setup | | **Non-goals** | No new Telegram/Solana e2e, bot tests, OpenAPI, real-extension CI | ## Acceptance criteria (#4) - [x] API ADR-036 Terra unit + Terra integration submit → status - [x] `/update_terms` auth + XFF/trust tests (#3 landed) - [x] Portal terms disclosure on EVM + Terra Classic - [x] EVM Playwright full sign green - [x] Terra Classic Playwright path (mock Keplr) - [x] Redirect allowlist automated (unit + e2e) - [x] CI/e2e use Bearer `/update_terms` (no unauth sync) - [x] No new Telegram/Solana test debt ## Test plan - [x] `cd api && cargo fmt --check && cargo clippy --all-targets -- -D warnings` - [x] `cd api && DATABASE_URL=… cargo test` (42 lib + 6 integration) - [x] `npm run test:sdk && npm run test:web` - [x] `cd web && npm run test:e2e -- --workers=5` (15 passed, including redirect) - [x] Retest: integration + `redirect`/`evm-sign`/`terra-sign` e2e Closes #4
PlasticDigits commented 2026-08-11 00:38:35 +00:00 (Migrated from gitlab.com)

mentioned in commit 87227379a4

mentioned in commit 87227379a45a0a2be5ebb8df1c8cf0a32d35d6be
PlasticDigits (Migrated from gitlab.com) merged commit 87227379a4 into main 2026-08-11 00:38:35 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-ecosystem-legal!24
No description provided.