mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-27 23:06:54 +05:00
Add test structure: - Unit tests for BaseEntity - Unit tests for Guards utility - Test fixtures with code samples - Integration and unit test directories
46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
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);
|
|
});
|
|
}); |