Tengo el siguiente método en mi controlador.
@Post('upload') @UseInterceptors( FileInterceptor('image', { storage: diskStorage({ destination: './uploads', filename(_, file, callback) { const randomName = Array(32) .fill(null) .map(() => Math.round(Math.random() * 16).toString(16)) .join(''); return callback(null, `${randomName}${extname(file.originalname)}`); }, }), }) ) uploadFile(@UploadedFile() file) { return { url: `http://localhost:2300/api/inventory/uploads/${file.filename}`, originalFileName: `${file.originalname}`, }; }esta funcionando perfectamente Escribí a continuación el caso de prueba de broma para el mismo.
it('Single file upload', async () => { const response = await controller.uploadFile(mockFile); const fileService = new InventoryController(service); expect(response).toBeTruthy(); expect(response).toStrictEqual( expect.objectContaining({ originalFileName: expect.any(String), url: expect.any(String), }), ); });esto se está convirtiendo en un éxito, pero la cobertura está fallando en la línea inferior.
@UseInterceptors( FileInterceptor('image', { storage: diskStorage({ destination: './uploads', filename(_, file, callback) { const randomName = Array(32) .fill(null) .map(() => Math.round(Math.random() * 16).toString(16)) .join(''); return callback(null, `${randomName}${extname(file.originalname)}`); }, }), }) )¿Pueden ayudarme? ¿Cómo puedo probar lo mismo, por favor? significa que la cobertura de la anotación está fallando. en realidad, no puedo definir el código para la cobertura en el archivo jest
¿Qué parámetro debo agregar en mi archivo de prueba y pasar para cubrirlo?