From f7f8a8bb042304f69d2b719f4a59e61f00140e78 Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Thu, 15 Jan 2026 15:51:53 +0800 Subject: [PATCH] mock series support landscape poster --- next-ui/src/mocks/api/handlers/series.ts | 29 ++++++++++++++++-------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/next-ui/src/mocks/api/handlers/series.ts b/next-ui/src/mocks/api/handlers/series.ts index 1882e319..450ad172 100644 --- a/next-ui/src/mocks/api/handlers/series.ts +++ b/next-ui/src/mocks/api/handlers/series.ts @@ -1,6 +1,7 @@ import { httpTyped } from '@/mocks/api/httpTyped' -import { http, HttpResponse } from 'msw' +import { HttpResponse } from 'msw' import mockThumbnailUrl from '@/assets/mock-thumbnail.jpg' +import mockThumbnailLandscapeUrl from '@/assets/mock-thumbnail-landscape.jpg' import { PageRequest } from '@/types/PageRequest' import { mockPage } from '@/mocks/api/pageable' @@ -140,15 +141,25 @@ export const seriesHandlers = [ Object.assign({}, mockSeries1, { metadata: { title: `Series ${params.seriesId}` } }), ) }), - http.get('*/api/v1/series/*/thumbnail', async () => { - // Get an ArrayBuffer from reading the file from disk or fetching it. - const buffer = await fetch(mockThumbnailUrl).then((response) => response.arrayBuffer()) + httpTyped.get('/api/v1/series/{seriesId}/thumbnail', async ({ params, response }) => { + const seriesId = params.seriesId - return HttpResponse.arrayBuffer(buffer, { - headers: { - 'content-type': 'image/jpg', - }, - }) + // use landscape image for some images + const landscape = seriesId.slice(-1) === 'L' + + // Get an ArrayBuffer from reading the file from disk or fetching it. + const buffer = await fetch(landscape ? mockThumbnailLandscapeUrl : mockThumbnailUrl).then( + (response) => response.arrayBuffer(), + ) + + return response.untyped( + HttpResponse.arrayBuffer(buffer, { + status: 200, + headers: { + 'content-type': 'image/jpg', + }, + }), + ) }), httpTyped.patch('/api/v1/series/{seriesId}/metadata', ({ response }) => response(204).empty()), httpTyped.post('/api/v1/series/{seriesId}/analyze', ({ response }) => response(202).empty()),