diff --git a/web/src/pages/ItemPage.tsx b/web/src/pages/ItemPage.tsx index 04136eb..fb94b12 100644 --- a/web/src/pages/ItemPage.tsx +++ b/web/src/pages/ItemPage.tsx @@ -108,7 +108,7 @@ export default function ItemPage() {

)} - {item.matchedAlbum && ( + {item.matchedAlbum?.webUrl && ( { expect(screen.queryByRole('link', { name: /listen in navidrome/i })).toBeNull() }) + it('link hidden when the subsonic url was cleared (webUrl null)', async () => { + vi.mocked(api.getItem).mockResolvedValue({ + ...item, + ripStatus: 'ripped', + matchedAlbum: { id: 77, subsonicId: 'alb-1', lastPlayedAt: null, webUrl: null }, + } as never) + renderItem() + await waitFor(() => expect(screen.getByRole('heading', { name: 'Motion' })).toBeTruthy()) + expect(screen.queryByRole('link', { name: /listen in navidrome/i })).toBeNull() + }) + it('shows last played under the rip banner', async () => { vi.mocked(api.getItem).mockResolvedValue(rippedItem as never) renderItem()