import { describe, expect, test } from 'vitest'; import { render, screen } from '@testing-library/svelte'; import TrackRow from './TrackRow.svelte'; import type { TrackRef } from '$lib/api/types'; const track: TrackRef = { id: 't1', title: 'So What', album_id: 'xyz', album_title: 'Kind of Blue', artist_id: 'm-davis', artist_name: 'Miles Davis', track_number: 1, disc_number: 1, duration_sec: 545, stream_url: '/api/tracks/t1/stream', }; describe('TrackRow', () => { test('renders track number, title, formatted duration', () => { render(TrackRow, { props: { track } }); expect(screen.getByText('1')).toBeInTheDocument(); expect(screen.getByText('So What')).toBeInTheDocument(); expect(screen.getByText('9:05')).toBeInTheDocument(); }); test('track number falls back to dash when missing', () => { render(TrackRow, { props: { track: { ...track, track_number: undefined } } }); expect(screen.getByText('—')).toBeInTheDocument(); }); });