Files
puaros/packages/guardian/tests/unit/shared/Guards.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

58 lines
1.9 KiB
TypeScript

import { describe, it, expect } from "vitest"
import { Guards } from "../../../src/shared/utils/Guards"
describe("Guards", () => {
describe("isNullOrUndefined", () => {
it("should return true for null", () => {
expect(Guards.isNullOrUndefined(null)).toBe(true)
})
it("should return true for undefined", () => {
expect(Guards.isNullOrUndefined(undefined)).toBe(true)
})
it("should return false for other values", () => {
expect(Guards.isNullOrUndefined(0)).toBe(false)
expect(Guards.isNullOrUndefined("")).toBe(false)
expect(Guards.isNullOrUndefined(false)).toBe(false)
})
})
describe("isString", () => {
it("should return true for strings", () => {
expect(Guards.isString("hello")).toBe(true)
expect(Guards.isString("")).toBe(true)
})
it("should return false for non-strings", () => {
expect(Guards.isString(123)).toBe(false)
expect(Guards.isString(null)).toBe(false)
})
})
describe("isEmpty", () => {
it("should return true for empty strings", () => {
expect(Guards.isEmpty("")).toBe(true)
})
it("should return true for empty arrays", () => {
expect(Guards.isEmpty([])).toBe(true)
})
it("should return true for empty objects", () => {
expect(Guards.isEmpty({})).toBe(true)
})
it("should return true for null/undefined", () => {
expect(Guards.isEmpty(null)).toBe(true)
expect(Guards.isEmpty(undefined)).toBe(true)
})
it("should return false for non-empty values", () => {
expect(Guards.isEmpty("text")).toBe(false)
expect(Guards.isEmpty([1])).toBe(false)
expect(Guards.isEmpty({ key: "value" })).toBe(false)
})
})
})