Files
puaros/packages/guardian/tests/unit/domain/BaseEntity.test.ts
imfozilbek 03705b5264 feat(guardian): add guardian package - code quality analyzer
Add @puaros/guardian package v0.1.0 - code quality guardian for vibe coders and enterprise teams.

Features:
- Hardcode detection (magic numbers, magic strings)
- Circular dependency detection
- Naming convention enforcement (Clean Architecture)
- Architecture violation detection
- CLI tool with comprehensive reporting
- 159 tests with 80%+ coverage
- Smart suggestions for fixes
- Built for AI-assisted development

Built with Clean Architecture and DDD principles.
Works with Claude, GPT, Copilot, Cursor, and any AI coding assistant.
2025-11-24 02:54:39 +05:00

47 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)
})
})