From e242b881deb50330d4bd1b895c2eb560b7c16cd7 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 9 Aug 2026 14:12:11 +0800 Subject: [PATCH] fix tests --- src/api/types.ts | 6 ++++++ src/components/cards/__tests__/MediaInfoCard.spec.ts | 5 +++++ src/components/dialog/AddDownloadDialog.vue | 4 +++- src/components/dialog/__tests__/SiteResourceDialog.spec.ts | 3 ++- src/views/discover/MediaDetailView.vue | 4 ++-- src/views/discover/__tests__/MediaDetailView.spec.ts | 2 +- 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/api/types.ts b/src/api/types.ts index f11ac496..1cd08659 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -1181,6 +1181,12 @@ export interface MetaInfo { video_encode?: string // 音频编码 audio_encode?: string + // 音频格式 + audio_format?: string + // 音频位深 + bit_depth?: number + // 音频采样率 + sample_rate?: number // 名称(自动中英文) name: string // SXX-SXX diff --git a/src/components/cards/__tests__/MediaInfoCard.spec.ts b/src/components/cards/__tests__/MediaInfoCard.spec.ts index a98209fd..1d5de87c 100644 --- a/src/components/cards/__tests__/MediaInfoCard.spec.ts +++ b/src/components/cards/__tests__/MediaInfoCard.spec.ts @@ -10,6 +10,9 @@ describe('MediaInfoCard', () => { context: { meta_info: { artists: ['周杰伦'], + audio_format: 'FLAC', + bit_depth: 24, + sample_rate: 48000, title: '晴天', type: '音乐', }, @@ -23,6 +26,8 @@ describe('MediaInfoCard', () => { }) expect(screen.getByText('晴天')).toBeInTheDocument() + expect(screen.getByText('FLAC')).toBeInTheDocument() + expect(screen.getByText('24 kHz 48000')).toBeInTheDocument() expect(screen.queryByText('识别失败,无法识别到有效信息!')).not.toBeInTheDocument() }) diff --git a/src/components/dialog/AddDownloadDialog.vue b/src/components/dialog/AddDownloadDialog.vue index 60b6ac04..4b7c8899 100644 --- a/src/components/dialog/AddDownloadDialog.vue +++ b/src/components/dialog/AddDownloadDialog.vue @@ -319,7 +319,9 @@ onMounted(() => { v-model="mediaId" :label="mediaIdLabel" :placeholder="t('dialog.reorganize.mediaIdPlaceholder')" - :rules="[(value: any) => isValidMediaSourceId(value, mediaSource.value) || t('dialog.reorganize.mediaIdInvalid')]" + :rules="[ + (value: any) => isValidMediaSourceId(value, mediaSource) || t('dialog.reorganize.mediaIdInvalid'), + ]" append-inner-icon="mdi-magnify" :hint="t('dialog.reorganize.mediaIdHint')" persistent-hint diff --git a/src/components/dialog/__tests__/SiteResourceDialog.spec.ts b/src/components/dialog/__tests__/SiteResourceDialog.spec.ts index 8df04b2e..0bf5ebae 100644 --- a/src/components/dialog/__tests__/SiteResourceDialog.spec.ts +++ b/src/components/dialog/__tests__/SiteResourceDialog.spec.ts @@ -443,7 +443,8 @@ describe('SiteResourceDialog', () => { await waitFor(() => expect(screen.queryByLabelText('搜索关键字')).not.toBeInTheDocument()) }) - it('emits close and formats the result summary in English', async () => { + it('emits close and formats the mobile result summary in English', async () => { + setViewport(390) server.use( siteCategoriesHandler(501, []), siteResourcesHandler(501, [createTorrentInfo({ title: 'Language resource' })]), diff --git a/src/views/discover/MediaDetailView.vue b/src/views/discover/MediaDetailView.vue index 8f930002..f6dd6847 100644 --- a/src/views/discover/MediaDetailView.vue +++ b/src/views/discover/MediaDetailView.vue @@ -44,7 +44,7 @@ const $toast = useToast() const mediaProps = defineProps({ mediaid: String, title: String, - year: String, + year: [String, Number], type: String, }) @@ -557,7 +557,7 @@ async function handleDoubanClick() { mediaDetail.value.douban_id, mediaDetail.value.type, mediaDetail.value.title, - mediaDetail.value.year, + mediaDetail.value.year?.toString(), ) } } diff --git a/src/views/discover/__tests__/MediaDetailView.spec.ts b/src/views/discover/__tests__/MediaDetailView.spec.ts index a142a793..9127c0f9 100644 --- a/src/views/discover/__tests__/MediaDetailView.spec.ts +++ b/src/views/discover/__tests__/MediaDetailView.spec.ts @@ -330,7 +330,7 @@ describe('MediaDetailView detail and actions', () => { tmdb_id: 8401, tvdb_id: 'tvdb-8401', type: '电影', - year: '2025', + year: 2025, }) await renderDetail({ media })