import { promisify } from 'util'; export const mockFiles = { file: 'uploads/toBeResized/some-file.jpg', undownloadableFile: 'uploads/toBeResized/undownloadable-file', unuploadableFile: 'uploads/toBeResized/unuploadable-file', }; const mockExistingFile = { exists: () => [true], download: () => new File([], mockFiles.file) }; const mockUndownLoadableFile = { exists: () => [true], download: promisify(() => { throw new Error(); }), }; const mockMissingFile = { exists: () => [false] }; const mockBucket = (name: string) => ({ file: (fileName) => { switch (fileName) { case mockFiles.file: return mockExistingFile; case mockFiles.undownloadableFile: return mockUndownLoadableFile; default: return mockMissingFile; } }, name, }); export class Storage { constructor() {} bucket = (name: string) => mockBucket(name); }