

























@@ -46,6 +46,22 @@ afterAll(() => {
4646vi.resetModules();
4747});
484849+function requireFirstMockArg(mock: ReturnType<typeof vi.fn>, label: string): unknown {
50+const [call] = mock.mock.calls;
51+if (!call) {
52+throw new Error(`expected ${label}`);
53+}
54+return call[0];
55+}
56+57+function requireFirstMockObjectArg(mock: ReturnType<typeof vi.fn>, label: string): object {
58+const value = requireFirstMockArg(mock, label);
59+if (!value || typeof value !== "object" || Array.isArray(value)) {
60+throw new Error(`expected ${label}`);
61+}
62+return value;
63+}
64+4965describe("deepinfra image generation provider", () => {
5066afterEach(() => {
5167assertOkOrThrowHttpErrorMock.mockClear();
@@ -113,7 +129,7 @@ describe("deepinfra image generation provider", () => {
113129],
114130]);
115131expect(postJsonRequestMock).toHaveBeenCalledOnce();
116-const [jsonRequest] = postJsonRequestMock.mock.calls[0] ?? [];
132+const jsonRequest = requireFirstMockArg(postJsonRequestMock, "DeepInfra JSON image request");
117133const jsonRequestHeaders = Reflect.get(jsonRequest ?? {}, "headers");
118134expect(jsonRequestHeaders).toBeInstanceOf(Headers);
119135expect(Object.fromEntries((jsonRequestHeaders as Headers).entries())).toEqual({
@@ -175,10 +191,10 @@ describe("deepinfra image generation provider", () => {
175191});
176192177193expect(postMultipartRequestMock).toHaveBeenCalledOnce();
178-const [multipartRequest] = postMultipartRequestMock.mock.calls[0] ?? [];
179-if (!multipartRequest) {
180-throw new Error("Expected DeepInfra multipart request");
181-}
194+const multipartRequest = requireFirstMockObjectArg(
195+ postMultipartRequestMock,
196+"DeepInfra multipart image request",
197+);
182198const multipartHeaders = Reflect.get(multipartRequest, "headers");
183199expect(multipartHeaders).toBeInstanceOf(Headers);
184200expect(Object.fromEntries((multipartHeaders as Headers).entries())).toEqual({
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。