| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- import { describe, test, it, expect } from 'vitest'
- import ApiRequestService from "~/services/data/apiRequestService";
- import ImageManager from "~/services/data/imageManager";
- import 'blob-polyfill';
- let apiRequestService: ApiRequestService
- let imageManager: ImageManager
- let init_console_error: any
- beforeEach(() => {
- // @ts-ignore
- apiRequestService = vi.fn() as ApiRequestService
- imageManager = new ImageManager(apiRequestService)
- // Important : Restore console error after mocking
- init_console_error = console.error
- })
- afterEach(() => {
- vi.restoreAllMocks()
- console.error = init_console_error
- })
- describe('get', () => {
- test('simple call', async () => {
- const data = "azerty"
- // @ts-ignore
- apiRequestService.get = vi.fn((url: string) => data)
- // @ts-ignore
- imageManager.getCacheKey = vi.fn(() => '123456')
- // @ts-ignore
- imageManager.toBase64 = vi.fn((data: string) => 'base64:' + data)
- const result = await imageManager.get(1)
- expect(apiRequestService.get).toHaveBeenCalledWith('api/download/1', ['123456'])
- expect(result).toEqual('base64:azerty')
- })
- test('no id, no default image provided', async () => {
- expect(await imageManager.get(null)).toEqual(ImageManager.defaultImage)
- })
- test('no id, default image provided', async () => {
- const defaultImage = 'a_picture.jpg'
- expect(await imageManager.get(null, defaultImage)).toEqual(defaultImage)
- })
- test('no response, no default image', async () => {
- // @ts-ignore
- apiRequestService.get = vi.fn((url: string) => '')
- // @ts-ignore
- imageManager.getCacheKey = vi.fn(() => '123456')
- // @ts-ignore
- imageManager.toBase64 = vi.fn()
- console.error = vi.fn()
- const result = await imageManager.get(1)
- expect(apiRequestService.get).toHaveBeenCalledWith('api/download/1', ['123456'])
- expect(console.error).toHaveBeenCalledWith('Error: image 1 not found or invalid')
- // @ts-ignore
- expect(imageManager.toBase64).toHaveBeenCalledTimes(0)
- expect(result).toEqual(ImageManager.defaultImage)
- })
- test('no response, default image', async () => {
- // @ts-ignore
- apiRequestService.get = vi.fn((url: string) => '')
- // @ts-ignore
- imageManager.getCacheKey = vi.fn(() => '123456')
- // @ts-ignore
- imageManager.toBase64 = vi.fn()
- console.error = vi.fn()
- const result = await imageManager.get(1, 'some_default.jpg')
- expect(apiRequestService.get).toHaveBeenCalledWith('api/download/1', ['123456'])
- expect(console.error).toHaveBeenCalledWith('Error: image 1 not found or invalid')
- // @ts-ignore
- expect(imageManager.toBase64).toHaveBeenCalledTimes(0)
- expect(result).toEqual('some_default.jpg')
- })
- })
- describe('toBase64', () => {
- test('simple call', async () => {
- // @ts-ignore
- expect(await imageManager.toBase64('some_data')).toEqual('data:image/jpeg;base64,c29tZV9kYXRh')
- })
- })
- describe('getCacheKey', () => {
- test('simple call', () => {
- // @ts-ignore
- expect(imageManager.getCacheKey()).toMatch(/\d{10,}/)
- })
- })
|