canina/test-coverage-map.md

8.4 KiB
Raw Blame History

نقشه جامع پوشش تست‌های سرتاسری (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 احراز هویت کاربر (/profile) لاگین OTP، دریافت پیامک، ورود و مدیریت پت‌ها کد OTP اشتباه یا منقضی خروج از حساب (Logout) بدون تست
AD-01 لاگین ادمین (/login) ورود با رمز عبور و سشن توکن JWT رمز اشتباه / دسترسی غیرمجاز سشن منقضی‌شده پوشش داده شد
AD-02 مدیریت محصولات (/products) ساخت، ویرایش، تب سئو، آپلود تصویر و حذف نام خالی / فرمت اشتباه مقادیر طولانی سئو پوشش داده شد
AD-03 مدیریت سفارشات (/orders) فیلتر وضعیت، مشاهده جزئیات، تغییر وضعیت به ارسال‌شده تغییر غیرمجاز وضعیت لیست سفارش خالی بدون تست
AD-04 مدیریت B2B (/b2b-requests) مشاهده درخواست‌های دریافتی، تغییر وضعیت و یادداشت بدون داده تایید نهایی همکاری بدون تست
AD-05 مدیریت مقالات (/blogs) ایجاد مقاله، ویرایش تگ‌ها، وضعیت انتشار عنوان خالی ویرایش محتوای حجیم بدون تست
AD-06 تنظیمات سئو و عمومی (/settings) تغییر متادیتا، فعال/غیرفعال کردن حالت کاتالوگ ساختار نامعتبر JSON ذخیره فوری تنظیمات بدون تست

۳. برنامه تکمیل و توسعه تست‌های مفقود (Action Plan)

برای رسیدن به پوشش ۱۰۰٪ سیستم، فایل‌های تست جدید زیر باید ایجاد و تست‌های موجود با رویکرد پایداری انتخاب‌گرها و پوشش سناریوهای منفی بازنویسی شوند:

  1. tests/e2e/storefront/shop-filter-search.spec.ts: تست کامل جستجو، فیلتر دسته‌ها، ماشین‌حساب دوز و حالت‌های بدون نتیجه.
  2. tests/e2e/storefront/cart-operations.spec.ts: تست تعاملی سبد خرید، تغییر تعداد، حذف، کوپن تخفیف و سقف خرید.
  3. tests/e2e/storefront/order-tracking.spec.ts: تست پیگیری سفارشات با سناریوهای موفق و ناموفق.
  4. tests/e2e/storefront/user-auth-pets.spec.ts: تست ورود کاربر، OTP، اضافه کردن پت جدید و پروفایل.
  5. tests/e2e/admin/admin-orders-flow.spec.ts: تست مدیریت سفارشات، تغییر وضعیت فاکتور و فیلترها در پنل مدیریت.
  6. tests/e2e/admin/admin-blogs-crud.spec.ts: تست ایجاد و ویرایش مقالات وبلاگ و دانشنامه در پنل ادمین.
  7. tests/e2e/admin/admin-b2b-submissions.spec.ts: تست مشاهده و مدیریت فرم‌های ثبت شده B2B و تماس.