/** * @file DateTimePicker.test.tsx * @description An end-bound picker ("To") picks the very end of a day, so an * event at 23:59:30 is still inside the range. * @author Nguyễn Ngọc Trí Vĩ */ import { describe, it, expect, vi } from "vitest"; import { render, screen, fireEvent } from "@testing-library/react"; import { DateTimePicker } from "../DateTimePicker"; describe("DateTimePicker", () => { it("endOfDay picks 23:59:59.999 of the chosen day", () => { const onChange = vi.fn(); render(); fireEvent.click(screen.getByRole("button", { name: "To" })); fireEvent.click(screen.getAllByRole("button", { pressed: false })[0]!); expect(onChange.mock.calls[0]![0]).toMatch(/T23:59:59\.999$/); }); it("a start bound picks midnight", () => { const onChange = vi.fn(); render(); fireEvent.click(screen.getByRole("button", { name: "From" })); fireEvent.click(screen.getAllByRole("button", { pressed: false })[0]!); expect(onChange.mock.calls[0]![0]).toMatch(/T00:00$/); }); });