UNPKG

payload-plugin-cloud-storage

Version:

Remote storage plugin for Payload CMS.

60 lines (48 loc) 1.54 kB
import readHook from './readHook' import type { AdapterInterface } from '../adapter.d' import { mock as mockInterface } from 'jest-mock-extended' describe('readHook', () => { let adapter: AdapterInterface<unknown, unknown> beforeEach(() => { adapter = mockInterface<AdapterInterface<unknown, unknown>>({ getEndpointUrl: (filename: string): string => { return `path/${filename}` } }) }) it('does not alter if filename missing', async () => { const initializedHook = readHook(adapter, 'testProperty') // @ts-expect-error don't need full def const result = await initializedHook({ doc: { } }) expect(result.testProperty).toBeUndefined() }) it('can add a property to main upload object', async () => { const initializedHook = readHook(adapter, 'testProperty') // @ts-expect-error don't need full def const result = await initializedHook({ doc: { filename: 'test.file' } }) expect(result.testProperty).toBe('path/test.file') }) it('can return endpoint for sizes', async () => { const initializedHook = readHook(adapter, 'testProperty') // @ts-expect-error don't need full def const result = await initializedHook({ doc: { filename: 'test.file', sizes: { mobile: { filename: 'resized.file' } } } }) expect(result.testProperty).toBe('path/test.file') expect(result.sizes.mobile.testProperty).toBe('path/resized.file') }) })