diff --git a/.zcode/plans/plan-sess_02d1b36a-d03c-400c-8d4c-a423d16e661f.md b/.zcode/plans/plan-sess_02d1b36a-d03c-400c-8d4c-a423d16e661f.md
index d34e5f4..ae63a2b 100644
--- a/.zcode/plans/plan-sess_02d1b36a-d03c-400c-8d4c-a423d16e661f.md
+++ b/.zcode/plans/plan-sess_02d1b36a-d03c-400c-8d4c-a423d16e661f.md
@@ -84,4 +84,4 @@ body.section-overlay-open .app-shell { overflow-y: hidden; }
- `/en/questions-list` → کلیک سکشن: اسلاید از راست؛ `/fa/questions-list` → اسلاید از چپ.
- بستن با دکمه close (flush)، back مرورگر، و شبیهسازی هاردور بک — همه با انیمیشن خروج.
- refresh مستقیم روی `/en/questions-list/personal_identity` → صفحه کامل.
- - حفظ اسکرول لیست پس از بستن؛ قفل اسکرول پشت پنل هنگام باز بودن.
\ No newline at end of file
+ - حفظ اسکرول لیست پس از بستن؛ قفل اسکرول پشت پنل هنگام باز بودن.له
\ No newline at end of file
diff --git a/src/components/Componentes/question-phone.test.tsx b/src/components/Componentes/question-phone.test.tsx
new file mode 100644
index 0000000..232770a
--- /dev/null
+++ b/src/components/Componentes/question-phone.test.tsx
@@ -0,0 +1,82 @@
+import { cleanup, fireEvent, render, screen, waitFor } from "@testing-library/react";
+import { afterEach, describe, expect, it, vi } from "vitest";
+import type { QuestionField } from "@/lib/schema-adapter";
+import { QuestionPhone } from "./question-phone";
+
+afterEach(() => {
+ cleanup();
+});
+
+vi.mock("@/translations/provider", () => ({
+ useI18n: () => ({
+ dictionary: {
+ "Select country": "انتخاب کشور",
+ Close: "بستن",
+ Confirm: "تایید",
+ },
+ locale: "fa",
+ }),
+}));
+
+vi.mock("./question-answer-storage", () => ({
+ useQuestionAnswers: () => ({
+ getAnswerValue: () => null,
+ setAnswerValue: vi.fn(),
+ isLoading: false,
+ }),
+}));
+
+describe("QuestionPhone Component", () => {
+ const mockQuestion: QuestionField = {
+ id: "personal_contact_number",
+ title: "شماره تماس شخصی",
+ type: "phone",
+ extras: {
+ placeHolder: "+98 9123456789",
+ },
+ };
+
+ it("renders phone input and opens sheet on country code click", async () => {
+ render(