From 2dedc30358d1724f60ab646b7a24e93f3672dff1 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 22 Sep 2026 13:03:36 +0800 Subject: Debit available cash on manual stock and bond buys with ledger events (3d-34) --- qa/driver/browser-test.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'qa/driver') diff --git a/qa/driver/browser-test.js b/qa/driver/browser-test.js index fda7c6f..37c27a0 100644 --- a/qa/driver/browser-test.js +++ b/qa/driver/browser-test.js @@ -921,6 +921,29 @@ async function stockTradeScenario(page) { const token = process.env.QA_TOKEN || "qa-token"; + // 3d-34: 手动买入现在会扣减可用现金;P6 再平衡后该基金仅剩 0.01, + // 因此先追加资金,使股票/债券买入能够成交并保持 B6 现金守恒成立。 + const depositStatus = await page.evaluate( + async ({ token, fundId }) => { + const randomKey = () => { + if (window.crypto && window.crypto.randomUUID) return window.crypto.randomUUID().replace(/-/g, ""); + return Math.random().toString(16).slice(2).padEnd(32, "0").slice(0, 32); + }; + const response = await fetch(`/api/funds/${fundId}/capital/deposit`, { + method: "POST", + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + "Idempotency-Key": randomKey(), + }, + body: JSON.stringify({ amount: "130000.00", note: "3d-34 手动买入前追加资金" }), + }); + return response.status; + }, + { token, fundId: await currentFundId(page) } + ); + check("S4z 手动买入前追加资金成功", depositStatus === 201, `status=${depositStatus}`); + lastStockTradeResponse = null; lastStockPositionsResponse = null; await page.fill(".stock-code-input", "600519"); -- cgit v1.2.3