request-sequence.test.ts 1.3 KB

12345678910111213141516171819202122232425262728
  1. import { describe, expect, test } from "vitest";
  2. import { normalizeRequestSequence } from "@/lib/utils/request-sequence";
  3. describe("normalizeRequestSequence", () => {
  4. test("正常情况:正整数应原样返回", () => {
  5. expect(normalizeRequestSequence(1)).toBe(1);
  6. expect(normalizeRequestSequence(100)).toBe(100);
  7. expect(normalizeRequestSequence(Number.MAX_SAFE_INTEGER)).toBe(Number.MAX_SAFE_INTEGER);
  8. });
  9. test("边界情况:无效数字应返回 null", () => {
  10. expect(normalizeRequestSequence(undefined)).toBe(null);
  11. expect(normalizeRequestSequence(0)).toBe(null);
  12. expect(normalizeRequestSequence(-1)).toBe(null);
  13. expect(normalizeRequestSequence(1.1)).toBe(null);
  14. expect(normalizeRequestSequence(Number.NaN)).toBe(null);
  15. expect(normalizeRequestSequence(Number.POSITIVE_INFINITY)).toBe(null);
  16. expect(normalizeRequestSequence(Number.NEGATIVE_INFINITY)).toBe(null);
  17. expect(normalizeRequestSequence(Number.MAX_SAFE_INTEGER + 1)).toBe(null);
  18. });
  19. test("类型错误:非数字类型应返回 null", () => {
  20. expect(normalizeRequestSequence("1" as unknown as number)).toBe(null);
  21. expect(normalizeRequestSequence(null as unknown as number)).toBe(null);
  22. expect(normalizeRequestSequence({} as unknown as number)).toBe(null);
  23. expect(normalizeRequestSequence([] as unknown as number)).toBe(null);
  24. });
  25. });