






















@@ -53,6 +53,18 @@ async function setupSuccessfulUpload(params?: {
5353return { mockBlob };
5454}
555556+function requireUploadParams(): { blob?: Blob; contentType?: string; fileName?: string } {
57+const [call] = mockUploadFile.mock.calls;
58+if (!call) {
59+throw new Error("expected Tlon uploadFile call");
60+}
61+const [uploadParams] = call;
62+if (!uploadParams || typeof uploadParams !== "object" || Array.isArray(uploadParams)) {
63+throw new Error("expected Tlon uploadFile params");
64+}
65+return uploadParams as { blob?: Blob; contentType?: string; fileName?: string };
66+}
67+5668describe("uploadImageFromUrl", () => {
5769beforeEach(() => {
5870vi.clearAllMocks();
@@ -67,11 +79,9 @@ describe("uploadImageFromUrl", () => {
67796880expect(result).toBe("https://memex.tlon.network/uploaded.png");
6981expect(mockUploadFile).toHaveBeenCalledTimes(1);
70-const uploadParams = mockUploadFile.mock.calls[0]?.[0] as
71-| { blob?: Blob; contentType?: string }
72-| undefined;
73-expect(uploadParams?.blob).toBe(mockBlob);
74-expect(uploadParams?.contentType).toBe("image/png");
82+const uploadParams = requireUploadParams();
83+expect(uploadParams.blob).toBe(mockBlob);
84+expect(uploadParams.contentType).toBe("image/png");
7585});
76867787it("returns original URL if fetch fails", async () => {
@@ -124,8 +134,7 @@ describe("uploadImageFromUrl", () => {
124134125135await uploadImageFromUrl("https://example.com/path/to/my-image.jpg");
126136127-const uploadParams = mockUploadFile.mock.calls[0]?.[0] as { fileName?: string } | undefined;
128-expect(uploadParams?.fileName).toBe("my-image.jpg");
137+expect(requireUploadParams().fileName).toBe("my-image.jpg");
129138});
130139131140it("uses default filename when URL has no path", async () => {
@@ -141,7 +150,6 @@ describe("uploadImageFromUrl", () => {
141150142151await uploadImageFromUrl("https://example.com/");
143152144-const uploadParams = mockUploadFile.mock.calls[0]?.[0] as { fileName?: string } | undefined;
145-expect(uploadParams?.fileName).toMatch(/^upload-\d+\.png$/);
153+expect(requireUploadParams().fileName).toMatch(/^upload-\d+\.png$/);
146154});
147155});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。