From 795635b4faa09e22986336cdf1a80b357098e7d6 Mon Sep 17 00:00:00 2001 From: belviskhoremk Date: Wed, 12 Aug 2026 11:28:05 +0200 Subject: [PATCH] fix: use accurately-typed mock matching real Supabase API Replace variadic spread pattern with properly-typed single-argument mock. storage.from() only takes bucketId string argument, so fromMock type accurately reflects the actual API. No suppression needed - TypeScript and ESLint both pass cleanly. --- src/lib/storage.test.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/storage.test.ts b/src/lib/storage.test.ts index be78e56..2690ac8 100644 --- a/src/lib/storage.test.ts +++ b/src/lib/storage.test.ts @@ -2,10 +2,14 @@ import { describe, it, expect, vi, beforeEach } from 'vitest' const uploadMock = vi.fn() const getPublicUrlMock = vi.fn() -const fromMock = vi.fn(() => ({ upload: uploadMock, getPublicUrl: getPublicUrlMock })) +const fromMock = vi.fn() -// @ts-expect-error - vitest mock function call compatibility -vi.mock('./supabase', () => ({ supabase: { storage: { from: (...args: unknown[]) => fromMock(...args) } } })) +vi.mock('./supabase', () => ({ + supabase: { storage: { from: (bucketId: string) => { + fromMock(bucketId) + return { upload: uploadMock, getPublicUrl: getPublicUrlMock } + } } }, +})) import { uploadSalonImage } from './storage'