import { PageViewId } from '@core/analytics/domain/value-objects/PageViewId'; describe('PageViewId', () => { it('creates a valid PageViewId from a non-empty string', () => { const id = PageViewId.create('pv_123'); expect(id.value).toBe('pv_123'); }); it('trims whitespace from the raw value', () => { const id = PageViewId.create(' pv_456 '); expect(id.value).toBe('pv_456'); }); it('throws for empty or whitespace-only strings', () => { expect(() => PageViewId.create('')).toThrow(Error); expect(() => PageViewId.create(' ')).toThrow(Error); }); it('compares equality based on underlying value', () => { const a = PageViewId.create('pv_1'); const b = PageViewId.create('pv_1'); const c = PageViewId.create('pv_2'); expect(a.equals(b)).toBe(true); expect(a.equals(c)).toBe(false); }); });