|
|
@@ -1,7 +1,8 @@
|
|
|
-import { vi, describe, test, expect, beforeEach, afterEach } from 'vitest'
|
|
|
+import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'
|
|
|
import type ApiRequestService from '~/services/data/apiRequestService'
|
|
|
import ImageManager from '~/services/data/imageManager'
|
|
|
import 'blob-polyfill'
|
|
|
+import { IMAGE_SIZE } from '~/types/enum/enums'
|
|
|
|
|
|
let apiRequestService: ApiRequestService
|
|
|
let imageManager: ImageManager
|
|
|
@@ -34,18 +35,16 @@ describe('get', () => {
|
|
|
imageManager.getCacheKey = vi.fn(() => '123456')
|
|
|
|
|
|
// @ts-ignore
|
|
|
- imageManager.toBase64 = vi.fn((_: string) => 'base64:azerty')
|
|
|
+ blobPart.toString = vi.fn(() => 'image_url')
|
|
|
|
|
|
const result = await imageManager.get(1)
|
|
|
|
|
|
- expect(apiRequestService.get).toHaveBeenCalledWith('api/file/download/1', [
|
|
|
- '123456',
|
|
|
- ])
|
|
|
-
|
|
|
- // @ts-ignore
|
|
|
- expect(imageManager.toBase64).toHaveBeenCalledWith(blobPart)
|
|
|
+ expect(apiRequestService.get).toHaveBeenCalledWith(
|
|
|
+ 'api/image/download/1/md',
|
|
|
+ { 0: '123456' },
|
|
|
+ )
|
|
|
|
|
|
- expect(result).toEqual('base64:azerty')
|
|
|
+ expect(result).toEqual('/image_url?0=123456')
|
|
|
})
|
|
|
|
|
|
test('no id, no default image provided', async () => {
|
|
|
@@ -55,66 +54,39 @@ describe('get', () => {
|
|
|
test('no id, default image provided', async () => {
|
|
|
const defaultImage = 'a_picture.jpg'
|
|
|
|
|
|
- expect(await imageManager.get(null, defaultImage)).toEqual(defaultImage)
|
|
|
+ expect(await imageManager.get(null, IMAGE_SIZE.MD, defaultImage)).toEqual(
|
|
|
+ defaultImage,
|
|
|
+ )
|
|
|
})
|
|
|
|
|
|
test('no response, no default image', async () => {
|
|
|
- const blobPart = vi.fn()
|
|
|
-
|
|
|
- // @ts-ignore
|
|
|
- apiRequestService.get = vi.fn((url: string) => null)
|
|
|
-
|
|
|
- // @ts-ignore
|
|
|
- imageManager.getCacheKey = vi.fn(() => '123456')
|
|
|
// @ts-ignore
|
|
|
- imageManager.toBase64 = vi.fn()
|
|
|
+ imageManager.getProcessed = vi.fn(() => {
|
|
|
+ throw new Error('Error: image 1 not found')
|
|
|
+ })
|
|
|
|
|
|
console.error = vi.fn()
|
|
|
|
|
|
const result = await imageManager.get(1)
|
|
|
|
|
|
- expect(apiRequestService.get).toHaveBeenCalledWith('api/file/download/1', [
|
|
|
- '123456',
|
|
|
- ])
|
|
|
- expect(console.error).toHaveBeenCalledWith('Error: image 1 not found')
|
|
|
- // @ts-ignore
|
|
|
- expect(imageManager.toBase64).toHaveBeenCalledTimes(0)
|
|
|
-
|
|
|
+ expect(console.error).toHaveBeenCalled()
|
|
|
expect(result).toEqual(ImageManager.defaultImage)
|
|
|
})
|
|
|
|
|
|
test('no response, default image', async () => {
|
|
|
- const blobPart = vi.fn()
|
|
|
-
|
|
|
// @ts-ignore
|
|
|
- blobPart.size = 0
|
|
|
-
|
|
|
- const response = vi.fn()
|
|
|
-
|
|
|
- // @ts-ignore
|
|
|
- response.blob = () => blobPart
|
|
|
-
|
|
|
- // @ts-ignore
|
|
|
- apiRequestService.get = vi.fn((url: string) => response)
|
|
|
-
|
|
|
- // @ts-ignore
|
|
|
- imageManager.getCacheKey = vi.fn(() => '123456')
|
|
|
-
|
|
|
- // @ts-ignore
|
|
|
- imageManager.toBase64 = vi.fn()
|
|
|
+ imageManager.getProcessed = vi.fn(() => {
|
|
|
+ throw new Error('Error: image 1 not found')
|
|
|
+ })
|
|
|
|
|
|
console.error = vi.fn()
|
|
|
|
|
|
- const result = await imageManager.get(1, 'some_default.jpg')
|
|
|
+ const defaultImage = 'some_default.jpg'
|
|
|
|
|
|
- expect(apiRequestService.get).toHaveBeenCalledWith('api/file/download/1', [
|
|
|
- '123456',
|
|
|
- ])
|
|
|
- expect(console.error).toHaveBeenCalledWith('Error: image 1 is invalid')
|
|
|
- // @ts-ignore
|
|
|
- expect(imageManager.toBase64).toHaveBeenCalledTimes(0)
|
|
|
+ const result = await imageManager.get(1, IMAGE_SIZE.MD, defaultImage)
|
|
|
|
|
|
- expect(result).toEqual('some_default.jpg')
|
|
|
+ expect(console.error).toHaveBeenCalled()
|
|
|
+ expect(result).toEqual(defaultImage)
|
|
|
})
|
|
|
})
|
|
|
|