import { describe, it, expect } from 'vitest'; import { TrackId } from './TrackId'; describe('TrackId', () => { it('should create track id', () => { const id = TrackId.create('track-123'); expect(id.toString()).toBe('track-123'); expect(id.props).toBe('track-123'); }); it('should trim whitespace', () => { const id = TrackId.create(' track-123 '); expect(id.toString()).toBe('track-123'); }); it('should throw for empty id', () => { expect(() => TrackId.create('')).toThrow('Track ID cannot be empty'); expect(() => TrackId.create(' ')).toThrow('Track ID cannot be empty'); }); it('should equal same ids', () => { const i1 = TrackId.create('track-123'); const i2 = TrackId.create('track-123'); expect(i1.equals(i2)).toBe(true); }); it('should not equal different ids', () => { const i1 = TrackId.create('track-123'); const i2 = TrackId.create('track-456'); expect(i1.equals(i2)).toBe(false); }); });