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