view data tests
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user