feat: add resolveImageUrl helper for salon-images public URLs

This commit is contained in:
belviskhoremk
2026-08-12 19:52:54 +02:00
parent 80f634d93a
commit 631ec0b567
2 changed files with 32 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import { describe, it, expect, vi } from 'vitest'
const getPublicUrlMock = vi.fn()
const fromMock = vi.fn((bucketId: string) => {
fromMock.mock.calls.push([bucketId])
return { getPublicUrl: getPublicUrlMock }
})
vi.mock('./supabase', () => ({
supabase: { storage: { from: (bucketId: string) => fromMock(bucketId) } },
}))
import { resolveImageUrl } from './resolveImageUrl'
describe('resolveImageUrl', () => {
it('resolves a storage-relative path to a public URL via the salon-images bucket', () => {
getPublicUrlMock.mockReturnValue({
data: { publicUrl: 'https://example.supabase.co/storage/v1/object/public/salon-images/products/edge-control.jpg' },
})
const url = resolveImageUrl('products/edge-control.jpg')
expect(fromMock).toHaveBeenCalledWith('salon-images')
expect(getPublicUrlMock).toHaveBeenCalledWith('products/edge-control.jpg')
expect(url).toBe('https://example.supabase.co/storage/v1/object/public/salon-images/products/edge-control.jpg')
})
})

View File

@@ -0,0 +1,5 @@
import { supabase } from './supabase'
export function resolveImageUrl(path: string): string {
return supabase.storage.from('salon-images').getPublicUrl(path).data.publicUrl
}