Add utility tests for paths, prefixes, and sleep
parent
cafca5c421
commit
574a96050b
|
|
@ -0,0 +1,65 @@
|
|||
import fs from "node:fs";
|
||||
import os from "node:os";
|
||||
import path from "node:path";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import {
|
||||
assertProvider,
|
||||
ensureDir,
|
||||
normalizeE164,
|
||||
normalizePath,
|
||||
sleep,
|
||||
toWhatsappJid,
|
||||
withWhatsAppPrefix,
|
||||
} from "./utils.js";
|
||||
|
||||
describe("normalizePath", () => {
|
||||
it("adds leading slash when missing", () => {
|
||||
expect(normalizePath("foo")).toBe("/foo");
|
||||
});
|
||||
|
||||
it("keeps existing slash", () => {
|
||||
expect(normalizePath("/bar")).toBe("/bar");
|
||||
});
|
||||
});
|
||||
|
||||
describe("withWhatsAppPrefix", () => {
|
||||
it("adds whatsapp prefix", () => {
|
||||
expect(withWhatsAppPrefix("+1555")).toBe("whatsapp:+1555");
|
||||
});
|
||||
|
||||
it("leaves prefixed intact", () => {
|
||||
expect(withWhatsAppPrefix("whatsapp:+1555")).toBe("whatsapp:+1555");
|
||||
});
|
||||
});
|
||||
|
||||
describe("ensureDir", () => {
|
||||
it("creates nested directory", async () => {
|
||||
const tmp = await fs.promises.mkdtemp(path.join(os.tmpdir(), "warelay-test-"));
|
||||
const target = path.join(tmp, "nested", "dir");
|
||||
await ensureDir(target);
|
||||
expect(fs.existsSync(target)).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe("sleep", () => {
|
||||
it("resolves after delay using fake timers", async () => {
|
||||
vi.useFakeTimers();
|
||||
const promise = sleep(1000);
|
||||
vi.advanceTimersByTime(1000);
|
||||
await expect(promise).resolves.toBeUndefined();
|
||||
vi.useRealTimers();
|
||||
});
|
||||
});
|
||||
|
||||
describe("assertProvider", () => {
|
||||
it("throws for invalid provider", () => {
|
||||
expect(() => assertProvider("bad" as string)).toThrow();
|
||||
});
|
||||
});
|
||||
|
||||
describe("normalizeE164 & toWhatsappJid", () => {
|
||||
it("strips formatting and prefixes", () => {
|
||||
expect(normalizeE164("whatsapp:(555) 123-4567")).toBe("+5551234567");
|
||||
expect(toWhatsappJid("whatsapp:+555 123 4567")).toBe("5551234567@s.whatsapp.net");
|
||||
});
|
||||
});
|
||||
Loading…
Reference in New Issue