# نقشه جامع پوشش تست‌های سرتاسری (E2E Test Coverage Map) — پروژه Canina این سند شامل استخراج و فهرست کامل تمامی قابلیت‌های کاربرمحور، فرم‌ها، جریان‌های خرید و احراز هویت، عملیات CRUD پنل مدیریت و حالت‌های مرزی (Edge Cases) در پلتفرم Canina است. --- ## ۱. معماری و نقش‌های کاربری (User Roles) 1. **مهمان / کاربر عمومی (Guest / Public User)**: - مشاهده لندینگ اصلی و بنرها - جستجو و فیلتر محصولات در آرشیو فروشگاه (`/shop`) - مشاهده صفحه جزئیات محصول (PDP)، دوزبندی و مشخصات مکمل - افزودن به سبد خرید و مدیریت مقادیر در Drawer سبد خرید - جریان تسویه‌حساب (Checkout Flow) با ثبت آدرس و اطلاعات تماس - ثبت درخواست همکاری تجاری / داروخانه‌ای (`/b2b`) - ثبت فرم تماس و استعلام مشاوره دارویی (`/contact`) - پیگیری وضعیت سفارش با کد پیگیری (`/track`) - مطالعه وبلاگ (`/blog`) و مقالات دانشنامه دارویی (`/wiki/[slug]`) - مشاهده صفحه ویدیوهای آموزشی (`/videos`) - جستجوی سراسری محصولات و مقالات (`/search`) 2. **کاربر ثبت‌نام‌شده / صاحب پت (Authenticated User / Pet Owner)**: - ورود/ثبت‌نام با شماره موبایل و کد تایید OTP (`/profile` یا مودال ورود) - مدیریت پروفایل کاربری و آدرس‌ها - مدیریت پروفایل پت‌ها (سگ/گربه، نژاد، وزن، سن، بیماری‌های زمینه‌ای) - داشبورد سوابق سفارشات و نسخه‌ها (`/dashboard`) - ثبت تیکت پشتیبانی و استعلام دارویی 3. **مدیر ارشد و کادر مدیریت (Admin / Store Manager)**: - احراز هویت با ایمیل/رمز عبور یا OTP در پنل مدیریت (`/login`) - مدیریت محصولات (ایجاد، ویرایش، حذف، قیمت‌گذاری، کنترل موجودی، گالری، فیلدهای پیشرفته سئو SERP) - مدیریت دسته‌بندی‌ها و ویژگی‌های درمانی - مدیریت مقالات وبلاگ و دانشنامه تخصصی (Wiki) - مدیریت و تغییر وضعیت سفارشات (Orders) - بررسی و تایید درخواست‌های همکاری تجاری B2B و فرم‌های تماس - تنظیمات عمومی سایت، درگاه‌های پرداخت، پیامک و سئو --- ## ۲. ماتریس جریان‌ها و قابلیت‌های کاربرمحور (Feature & Flow Matrix) | کد | بخش / صفحه | قابلیت / سناریو | Happy Path | ورودی نامعتبر / منفی | حالت مرزی / Edge Case | وضعیت فعلی تست | |---|---|---|---|---|---|---| | **ST-01** | صفحه اصلی (`/`) | بارگذاری هدر، منوها، بنر اسلایدر، محصولات برگزیده | ✅ | ❌ | لود در شبکه کند | ✅ تست ضمنی | | **ST-02** | فروشگاه (`/shop`) | فیلتر دسته‌بندی، مرتب‌سازی، جستجو و صفحه‌بندی | ✅ | جستجوی بدون نتیجه | فیلتر هم‌زمان چندگانه | ⚠️ ناقص | | **ST-03** | جزئیات محصول (`/shop/[slug]`) | تغییر وزن/دوز، ماشین‌حساب مصرف پت، افزودن به سبد | ✅ | محصول ناموجود | گالری تصاویر چندگانه | ⚠️ ناقص | | **ST-04** | سبد خرید (Cart Drawer) | افزایش/کاهش تعداد، حذف آیتم، محاسبه جمع کل | ✅ | سبد خرید خالی | کوپن تخفیف نامعتبر | ⚠️ ناقص | | **ST-05** | تسویه حساب (`/checkout`) | ثبت اطلاعات گیرنده، انتخاب روش ارسال و پرداخت | ✅ | اعتبارسنجی فیلدهای ضروری | لغو پرداخت و بازگشت | ✅ پوشش داده شد | | **ST-06** | همکاری تجاری (`/b2b`) | ارسال فرم همکاری کلینیک/پت‌شاپ با مدارک | ✅ | فیلدهای ناقص/موبایل اشتباه | ارسال فرم تکراری | ✅ پوشش داده شد | | **ST-07** | تماس با ما (`/contact`) | ارسال پیام مشاوره و استعلام دارویی | ✅ | ایمیل/موبایل نامعتبر | فیلد پیام خالی | ✅ پوشش داده شد | | **ST-08** | وبلاگ و دانشنامه (`/blog`, `/wiki`) | مشاهده مقالات، جستجو، جدول ترکیبات دارویی | ✅ | اسلاگ ناموجود (404) | لینک‌های بین‌مقالات | ✅ پوشش داده شد | | **ST-09** | پیگیری سفارش (`/track`) | استعلام وضعیت سفارش با شماره موبایل و کد سفارش | ✅ | کد پیگیری نامعتبر | سفارش یافت نشد | ❌ بدون تست | | **ST-10** | جستجوی سراسری (`/search`) | سرچ زنده محصولات، پیشنهادات هوشمند | ✅ | کلمه کلیدی بدون نتیجه | عبارات خاص فارسی/انگلیسی | ❌ بدون تست | | **ST-11** | احراز هویت و ثبت‌نام (`AuthModal`) | لاگین/ثبت‌نام با OTP، فرم ورود با پسورد | ✅ | کد OTP اشتباه یا منقضی | خروج از حساب (Logout) | ⚠️ نیازمند تست اختصاصی | | **ST-12** | بازیابی و فراموشی رمز عبور | درخواست ریست پسورد با پیامک OTP و تغییر رمز | ✅ | شماره اشتباه / کد نامعتبر | تلاش‌های بیش از حد (Rate limit) | ⚠️ نیازمند تست اختصاصی | | **ST-13** | صفحات خطا و روت‌های نامعتبر | رندر صفحه ۴۰۴ سفارشی، خطای ۵۰۰ و بازگشت به خانه | ✅ | ورود به آدرس‌های ناموجود | خطای کرش سرور یا کامپوننت | ⚠️ نیازمند تست اختصاصی | | **SEC-01**| امنیت و اعتبارسنجی ورودی‌ها | جلوگیری از XSS و SQLi در جستجو و فرم‌های تماس | ✅ | ارسال اسکریپت `