test(core): add unit tests and test infrastructure

Add test structure:
- Unit tests for BaseEntity
- Unit tests for Guards utility
- Test fixtures with code samples
- Integration and unit test directories
This commit is contained in:
imfozilbek
2025-11-23 21:43:55 +05:00
parent 3dc531886e
commit 8b81e6030d
3 changed files with 119 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
import { describe, it, expect } from 'vitest';
import { BaseEntity } from '../../../src/domain/entities/BaseEntity';
class TestEntity extends BaseEntity {
constructor(id?: string) {
super(id);
}
}
describe('BaseEntity', () => {
it('should create an entity with generated id', () => {
const entity = new TestEntity();
expect(entity.id).toBeDefined();
expect(typeof entity.id).toBe('string');
});
it('should create an entity with provided id', () => {
const customId = 'custom-id-123';
const entity = new TestEntity(customId);
expect(entity.id).toBe(customId);
});
it('should have createdAt and updatedAt timestamps', () => {
const entity = new TestEntity();
expect(entity.createdAt).toBeInstanceOf(Date);
expect(entity.updatedAt).toBeInstanceOf(Date);
});
it('should return true when comparing same entity', () => {
const entity = new TestEntity();
expect(entity.equals(entity)).toBe(true);
});
it('should return true when comparing entities with same id', () => {
const id = 'same-id';
const entity1 = new TestEntity(id);
const entity2 = new TestEntity(id);
expect(entity1.equals(entity2)).toBe(true);
});
it('should return false when comparing entities with different ids', () => {
const entity1 = new TestEntity();
const entity2 = new TestEntity();
expect(entity1.equals(entity2)).toBe(false);
});
});