This commit is contained in:
2025-12-11 14:39:57 +01:00
parent c7e5de40d6
commit c49ea2598d
14 changed files with 77 additions and 308 deletions

View File

@@ -0,0 +1,29 @@
import { AnalyticsEntityId } from '../../../../../packages/analytics/domain/value-objects/AnalyticsEntityId';
describe('AnalyticsEntityId', () => {
it('creates a valid AnalyticsEntityId from a non-empty string', () => {
const id = AnalyticsEntityId.create('entity_123');
expect(id.value).toBe('entity_123');
});
it('trims whitespace from the raw value', () => {
const id = AnalyticsEntityId.create(' entity_456 ');
expect(id.value).toBe('entity_456');
});
it('throws for empty or whitespace-only strings', () => {
expect(() => AnalyticsEntityId.create('')).toThrow(Error);
expect(() => AnalyticsEntityId.create(' ')).toThrow(Error);
});
it('compares equality based on underlying value', () => {
const a = AnalyticsEntityId.create('entity_1');
const b = AnalyticsEntityId.create('entity_1');
const c = AnalyticsEntityId.create('entity_2');
expect(a.equals(b)).toBe(true);
expect(a.equals(c)).toBe(false);
});
});

View File

@@ -0,0 +1,29 @@
import { AnalyticsSessionId } from '../../../../../packages/analytics/domain/value-objects/AnalyticsSessionId';
describe('AnalyticsSessionId', () => {
it('creates a valid AnalyticsSessionId from a non-empty string', () => {
const id = AnalyticsSessionId.create('session_123');
expect(id.value).toBe('session_123');
});
it('trims whitespace from the raw value', () => {
const id = AnalyticsSessionId.create(' session_456 ');
expect(id.value).toBe('session_456');
});
it('throws for empty or whitespace-only strings', () => {
expect(() => AnalyticsSessionId.create('')).toThrow(Error);
expect(() => AnalyticsSessionId.create(' ')).toThrow(Error);
});
it('compares equality based on underlying value', () => {
const a = AnalyticsSessionId.create('session_1');
const b = AnalyticsSessionId.create('session_1');
const c = AnalyticsSessionId.create('session_2');
expect(a.equals(b)).toBe(true);
expect(a.equals(c)).toBe(false);
});
});

View File

@@ -0,0 +1,29 @@
import { PageViewId } from '../../../../../packages/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);
});
});