view data tests
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m51s
Contract Testing / contract-snapshot (pull_request) Has been skipped

This commit is contained in:
2026-01-22 17:28:09 +01:00
parent a165ac9b65
commit 0a37454171
22 changed files with 5534 additions and 16 deletions

View File

@@ -1,7 +1,83 @@
import * as mod from '@core/media/domain/value-objects/AvatarId';
import { AvatarId } from './AvatarId';
describe('media/domain/value-objects/AvatarId.ts', () => {
it('imports', () => {
expect(mod).toBeTruthy();
describe('AvatarId', () => {
describe('create', () => {
it('creates from valid string', () => {
const avatarId = AvatarId.create('avatar-123');
expect(avatarId.toString()).toBe('avatar-123');
});
it('trims whitespace', () => {
const avatarId = AvatarId.create(' avatar-123 ');
expect(avatarId.toString()).toBe('avatar-123');
});
it('throws error when empty', () => {
expect(() => AvatarId.create('')).toThrow('Avatar ID cannot be empty');
});
it('throws error when only whitespace', () => {
expect(() => AvatarId.create(' ')).toThrow('Avatar ID cannot be empty');
});
it('throws error when null', () => {
expect(() => AvatarId.create(null as any)).toThrow('Avatar ID cannot be empty');
});
it('throws error when undefined', () => {
expect(() => AvatarId.create(undefined as any)).toThrow('Avatar ID cannot be empty');
});
});
describe('toString', () => {
it('returns the string value', () => {
const avatarId = AvatarId.create('avatar-123');
expect(avatarId.toString()).toBe('avatar-123');
});
});
describe('equals', () => {
it('returns true for equal avatar IDs', () => {
const avatarId1 = AvatarId.create('avatar-123');
const avatarId2 = AvatarId.create('avatar-123');
expect(avatarId1.equals(avatarId2)).toBe(true);
});
it('returns false for different avatar IDs', () => {
const avatarId1 = AvatarId.create('avatar-123');
const avatarId2 = AvatarId.create('avatar-456');
expect(avatarId1.equals(avatarId2)).toBe(false);
});
it('returns false for different case', () => {
const avatarId1 = AvatarId.create('avatar-123');
const avatarId2 = AvatarId.create('AVATAR-123');
expect(avatarId1.equals(avatarId2)).toBe(false);
});
});
describe('value object equality', () => {
it('implements value-based equality', () => {
const avatarId1 = AvatarId.create('avatar-123');
const avatarId2 = AvatarId.create('avatar-123');
const avatarId3 = AvatarId.create('avatar-456');
expect(avatarId1.equals(avatarId2)).toBe(true);
expect(avatarId1.equals(avatarId3)).toBe(false);
});
it('maintains equality after toString', () => {
const avatarId1 = AvatarId.create('avatar-123');
const avatarId2 = AvatarId.create('avatar-123');
expect(avatarId1.toString()).toBe(avatarId2.toString());
expect(avatarId1.equals(avatarId2)).toBe(true);
});
});
});