import { describe, expect, test } from "vitest"; import { isSubmissionTimeMoreThan5Minutes, isValidValue } from "./util"; describe("isValidValue", () => { test("returns false for an empty string", () => { expect(isValidValue("")).toBe(false); }); test("returns false for a blank string", () => { expect(isValidValue(" ")).toBe(false); }); test("returns true for a non-empty string", () => { expect(isValidValue("hello")).toBe(true); }); test("returns true for numbers", () => { expect(isValidValue(0)).toBe(true); expect(isValidValue(42)).toBe(true); }); test("returns false for an empty array", () => { expect(isValidValue([])).toBe(false); }); test("returns true for a non-empty array", () => { expect(isValidValue(["item"])).toBe(true); }); test("returns false for an empty object", () => { expect(isValidValue({})).toBe(false); }); test("returns true for a non-empty object", () => { expect(isValidValue({ key: "value" })).toBe(true); }); }); describe("isSubmissionTimeMoreThan5Minutes", () => { test("returns true if submission time is more than 5 minutes ago", () => { const currentTime = new Date(); const oldTime = new Date(currentTime.getTime() - 6 * 60 * 1000); // 6 minutes ago expect(isSubmissionTimeMoreThan5Minutes(oldTime)).toBe(true); }); test("returns false if submission time is less than or equal to 5 minutes ago", () => { const currentTime = new Date(); const recentTime = new Date(currentTime.getTime() - 4 * 60 * 1000); // 4 minutes ago expect(isSubmissionTimeMoreThan5Minutes(recentTime)).toBe(false); }); });