Skip to content

Backend/src/services/soroban service.ts#970

Open
extolkom wants to merge 2 commits into
LabsCrypt:mainfrom
extolkom:backend/src/services/sorobanService.ts
Open

Backend/src/services/soroban service.ts#970
extolkom wants to merge 2 commits into
LabsCrypt:mainfrom
extolkom:backend/src/services/sorobanService.ts

Conversation

@extolkom

Copy link
Copy Markdown
Contributor

closes #807

Summary
tests/soroban.service.test.ts previously only covered isStale, leaving the fund-handling and chain-decoding logic in sorobanService.ts untested. This PR adds unit tests for the remaining critical paths.
Changes

submitContractCall: added tests for the simulation-error branch and the sendTransaction ERROR status branch, using a mocked rpc.Server so no live network calls are made.
getStreamFromChain / getClaimableFromChain: added happy-path tests asserting correct decoding of chain data, plus tests confirming both functions return null (rather than throwing) when XDR decoding fails.
decodeI128 / decodeAddress: added tests covering positive and negative i128 values (including boundary/sign-bit cases) and both account (G...) and contract (C...) address decoding.
topUpStream: added a test asserting it throws when KEEPER_SECRET_KEY is unset in the environment, guarding against accidental deploys without the keeper key configured.

Testing
All new tests run against mocked rpc.Server responses, no testnet/mainnet calls are made, and the existing isStale test suite is unaffected. Ran the full suite locally — all green.
Files touched

backend/tests/soroban.service.test.ts
backend/src/services/sorobanService.ts

@ogazboiz

ogazboiz commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

heads up: main's ci was broken (the Backend CI and Backend Docker Image CI jobs) until the fixes in #969 and #974 just landed, so the red backend/docker checks on this pr are almost certainly stale, they ran against the broken main. please rebase to re-test against the now-green main: git fetch origin && git rebase origin/main && git push --force-with-lease. once it's green i'll review and merge. (if a non-backend check like Frontend CI is still red after the rebase, that part is a real issue worth a look, since frontend ci was passing on main.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Testing] sorobanService submit/simulate/decode paths are untested - soroban.service.test.ts only covers isStale

2 participants