@@ -16,6 +16,22 @@ vi.mock("openclaw/plugin-sdk/gateway-runtime", () => ({
|
16 | 16 | |
17 | 17 | import { startQaGatewayRpcClient } from "./gateway-rpc-client.js"; |
18 | 18 | |
| 19 | +function expectRequestResolver( |
| 20 | +callback: ((value: { ok: boolean }) => void) | null, |
| 21 | +): (value: { ok: boolean }) => void { |
| 22 | +if (callback === null) { |
| 23 | +throw new Error("Expected first request resolver callback to be captured"); |
| 24 | +} |
| 25 | +return callback; |
| 26 | +} |
| 27 | + |
| 28 | +function expectReleaseCallback(callback: (() => void) | null): () => void { |
| 29 | +if (callback === null) { |
| 30 | +throw new Error("Expected first request release callback to be captured"); |
| 31 | +} |
| 32 | +return callback; |
| 33 | +} |
| 34 | + |
19 | 35 | describe("startQaGatewayRpcClient", () => { |
20 | 36 | beforeEach(() => { |
21 | 37 | gatewayRpcMock.reset(); |
@@ -145,10 +161,7 @@ describe("startQaGatewayRpcClient", () => {
|
145 | 161 | }, |
146 | 162 | ); |
147 | 163 | |
148 | | -if (resolveFirst === null) { |
149 | | -throw new Error("Expected first gateway request resolver"); |
150 | | -} |
151 | | -resolveFirst({ ok: true }); |
| 164 | +expectRequestResolver(resolveFirst)({ ok: true }); |
152 | 165 | await expect(firstRequest).resolves.toEqual({ ok: true }); |
153 | 166 | }); |
154 | 167 | |
@@ -176,10 +189,7 @@ describe("startQaGatewayRpcClient", () => {
|
176 | 189 | |
177 | 190 | expect(gatewayRpcMock.callGatewayFromCli).toHaveBeenCalledTimes(1); |
178 | 191 | |
179 | | -if (releaseFirst === null) { |
180 | | -throw new Error("Expected first gateway request release callback"); |
181 | | -} |
182 | | -releaseFirst(); |
| 192 | +expectReleaseCallback(releaseFirst)(); |
183 | 193 | |
184 | 194 | await expect(firstRequest).resolves.toEqual({ ok: true }); |
185 | 195 | await expect(secondRequest).resolves.toEqual({ ok: true }); |
|