From 304e06acc8ab68708201a782d2767b72d85639b0 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 15 Jul 2026 13:08:06 -0400 Subject: [PATCH] =?UTF-8?q?test(player):=20stub=20likes=20API=20in=20queue?= =?UTF-8?q?=20component=20tests=20=E2=80=94=20#1596?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QueueTrackRow now renders a LikeButton, which reads createLikedIdsQuery and needs a QueryClient in Svelte context. The QueueTrackRow / QueueDrawer unit tests render the rows without one, so they failed with "No QueryClient was found in Svelte context". Mock $lib/api/likes with the shared emptyLikesMock() helper — the same pattern PlayerBar/TrackMenu and 17 other component tests already use. Co-Authored-By: Claude Opus 4.8 (1M context) --- web/src/lib/components/QueueDrawer.test.ts | 6 ++++++ web/src/lib/components/QueueTrackRow.test.ts | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/web/src/lib/components/QueueDrawer.test.ts b/web/src/lib/components/QueueDrawer.test.ts index b95a22d2..dc1182c6 100644 --- a/web/src/lib/components/QueueDrawer.test.ts +++ b/web/src/lib/components/QueueDrawer.test.ts @@ -3,6 +3,12 @@ import { render, screen, fireEvent } from '@testing-library/svelte'; import QueueDrawer from './QueueDrawer.svelte'; import type { TrackRef } from '$lib/api/types'; import { makeTrack } from '$test-utils/fixtures/track'; +import { emptyLikesMock } from '../../test-utils/mocks/likes'; + +// QueueTrackRow (rendered inside QueueDrawer → QueueList) now renders a +// LikeButton, which reads createLikedIdsQuery. Stub the likes API so the +// rows don't need a real QueryClient in context. +vi.mock('$lib/api/likes', () => emptyLikesMock()); const closeQueueDrawer = vi.fn(); let queueValue: TrackRef[] = []; diff --git a/web/src/lib/components/QueueTrackRow.test.ts b/web/src/lib/components/QueueTrackRow.test.ts index 96428bb0..038b3d5a 100644 --- a/web/src/lib/components/QueueTrackRow.test.ts +++ b/web/src/lib/components/QueueTrackRow.test.ts @@ -2,6 +2,11 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/svelte'; import QueueTrackRow from './QueueTrackRow.svelte'; import { makeTrack } from '$test-utils/fixtures/track'; +import { emptyLikesMock } from '../../test-utils/mocks/likes'; + +// QueueTrackRow now renders a LikeButton, which reads createLikedIdsQuery. +// Stub the likes API so the row doesn't need a real QueryClient in context. +vi.mock('$lib/api/likes', () => emptyLikesMock()); const playFromQueueIndex = vi.fn(); const removeFromQueue = vi.fn();