diff --git a/src/components/Componentes/question-date-sheet.tsx b/src/components/Componentes/question-date-sheet.tsx index 1fd0854..7ecde83 100644 --- a/src/components/Componentes/question-date-sheet.tsx +++ b/src/components/Componentes/question-date-sheet.tsx @@ -11,6 +11,7 @@ import { import { createPortal } from "react-dom"; import type { QuestionField } from "@/lib/schema-adapter"; import { useI18n } from "@/translations/provider"; +import { Button } from "./button"; import { useSheetScrollLock } from "./use-sheet-scroll-lock"; const EXIT_ANIMATION_MS = 300; @@ -349,6 +350,21 @@ export function QuestionDateSheet({ /> +
+ +
, diff --git a/src/components/Componentes/question-date.test.tsx b/src/components/Componentes/question-date.test.tsx index 9321f95..0f601dc 100644 --- a/src/components/Componentes/question-date.test.tsx +++ b/src/components/Componentes/question-date.test.tsx @@ -1,4 +1,4 @@ -import { fireEvent, render, screen } from "@testing-library/react"; +import { cleanup, fireEvent, render, screen } from "@testing-library/react"; import { beforeEach, describe, expect, it, vi } from "vitest"; import type { QuestionField } from "@/lib/schema-adapter"; import { QuestionDate } from "./question-date"; @@ -36,6 +36,7 @@ const question = { describe("QuestionDate", () => { beforeEach(() => { + cleanup(); answerValue = null; }); @@ -57,4 +58,16 @@ describe("QuestionDate", () => { const yearWheel = screen.getByLabelText("Year"); expect(yearWheel.textContent).not.toMatch(/[,٬]/); }); + + it("handles invalid date strings gracefully without throwing RangeError", () => { + answerValue = "Mortezaei"; + const { rerender } = render(); + expect(screen.queryByText("Age")).toBeNull(); + expect(screen.getByText("Select date")).toBeDefined(); + + answerValue = "invalid-date-format"; + rerender(); + expect(screen.queryByText("Age")).toBeNull(); + expect(screen.getByText("Select date")).toBeDefined(); + }); });