homebox/frontend/lib/api/base/base-api.test.ts

31 lines
1 KiB
TypeScript
Raw Permalink Normal View History

import { describe, expect, test } from "vitest";
import { hasKey, parseDate } from "./base-api";
describe("hasKey works as expected", () => {
test("hasKey returns true if the key exists", () => {
const obj = { createdAt: "2021-01-01" };
expect(hasKey(obj, "createdAt")).toBe(true);
});
test("hasKey returns false if the key does not exist", () => {
const obj = { createdAt: "2021-01-01" };
expect(hasKey(obj, "updatedAt")).toBe(false);
});
});
describe("parseDate should work as expected", () => {
test("parseDate should set defaults", () => {
const obj = { createdAt: "2021-01-01", updatedAt: "2021-01-01" };
const result = parseDate(obj);
expect(result.createdAt).toBeInstanceOf(Date);
expect(result.updatedAt).toBeInstanceOf(Date);
});
test("parseDate should set passed in types", () => {
const obj = { key1: "2021-01-01", key2: "2021-01-01" };
const result = parseDate(obj, ["key1", "key2"]);
expect(result.key1).toBeInstanceOf(Date);
expect(result.key2).toBeInstanceOf(Date);
});
});