Files
puaros/packages/ipuaro/tests/unit/domain/value-objects/FileMeta.test.ts
imfozilbek 225480c806 feat(ipuaro): implement Redis storage module (v0.2.0)
- Add RedisClient with connection management and AOF config
- Add RedisStorage implementing full IStorage interface
- Add Redis key schema for project and session data
- Add generateProjectName() utility
- Add 68 unit tests for Redis module (159 total)
- Update ESLint: no-unnecessary-type-parameters as warn
2025-11-30 00:22:49 +05:00

46 lines
1.5 KiB
TypeScript

import { describe, it, expect } from "vitest"
import { createFileMeta, isHubFile } from "../../../../src/domain/value-objects/FileMeta.js"
describe("FileMeta", () => {
describe("createFileMeta", () => {
it("should create FileMeta with defaults", () => {
const meta = createFileMeta()
expect(meta.complexity.loc).toBe(0)
expect(meta.complexity.nesting).toBe(0)
expect(meta.complexity.cyclomaticComplexity).toBe(1)
expect(meta.complexity.score).toBe(0)
expect(meta.dependencies).toEqual([])
expect(meta.dependents).toEqual([])
expect(meta.isHub).toBe(false)
expect(meta.isEntryPoint).toBe(false)
expect(meta.fileType).toBe("unknown")
})
it("should merge partial values", () => {
const meta = createFileMeta({
isHub: true,
fileType: "source",
dependencies: ["dep1.ts"],
})
expect(meta.isHub).toBe(true)
expect(meta.fileType).toBe("source")
expect(meta.dependencies).toEqual(["dep1.ts"])
expect(meta.dependents).toEqual([])
})
})
describe("isHubFile", () => {
it("should return true for >5 dependents", () => {
expect(isHubFile(6)).toBe(true)
expect(isHubFile(10)).toBe(true)
})
it("should return false for <=5 dependents", () => {
expect(isHubFile(5)).toBe(false)
expect(isHubFile(0)).toBe(false)
})
})
})