ifnex/docs/INSTALL-3.11.fa.md
Kazem Alghasi 8d61eb19d5 feat(uat): implement smoke test command and UAT documentation
Add `ifnex:smoke-test` console command to perform automated end-to-end
checks post-deployment, including database connectivity, essential
data presence, and API endpoint availability.

- Implement `IfnexSmokeTest` command for automated system verification
- Add feature tests for the smoke test command
- Create `UAT-3.11.md` containing the client acceptance checklist
- Update `CLIENT_DELIVERY.md` to reflect phase 3.10 and 3.11 completion
- Register the new command in `bootstrap/app.php`
- Add project documentation directory
2026-11-01 11:36:25 +03:30

5.9 KiB
Raw Blame History

📋 بستهٔ فاز ۳.۱۱ — UAT نهایی کارفرما

تاریخ: ۱۴۰۴/۰۸/۱۱ نسخه: phase-3.11


🎯 هدف

این بسته فاز نهایی قبل از انتشار رسمی است. شامل:

  1. ifnex:smoke-test — دستور E2E خودکار برای تست Post-Deploy
  2. ۹ تست Feature برای smoke-test
  3. سند UAT-3.11.md — چک‌لیست ۴۳ موردی فارسی برای کارفرما
  4. فرم امضای تحویل — قابل پرینت برای امضای رسمی
  5. به‌روزرسانی CLIENT_DELIVERY.md — ثبت فاز ۳.۱۰ و ۳.۱۱

📦 نحوهٔ نصب

این ZIP حاوی ۵ فایل است که باید روی ریشهٔ پروژه اکسترکت شوند (Replace).

مسیر اکسترکت

C:\xampp\htdocs\IFNEX-Logistics\

ساختار فایل‌ها

ifnex-phase-3.11-updates.zip
├── 04_Laravel/
│   ├── app/Console/Commands/
│   │   └── IfnexSmokeTest.php                 ★ جدید
│   ├── bootstrap/
│   │   └── app.php                            ← ثبت دستور جدید
│   └── tests/Feature/Console/
│       └── IfnexSmokeTestTest.php             ★ ۹ تست جدید
├── UAT-3.11.md                                ★ سند UAT کارفرما (۴۳ مورد)
├── CLIENT_DELIVERY.md                         ← به‌روزرسانی فاز ۳.۱۰/۳.۱۱
└── docs/
    └── INSTALL-3.11.fa.md                     ← همین فایل

★ = فایل جدید


🧪 تست روی لوکال

cd C:\xampp\htdocs\IFNEX-Logistics\04_Laravel
php artisan test

انتظار

مجموع تست‌ها: ۷۳ (قبلی) + ۹ (IfnexSmokeTestTest) = ۸۲ تست / ۲۲۰+ assertion

همه باید سبز باشند.

تست‌های اضافه‌شده

Suite تعداد توضیح
IfnexSmokeTestTest ۹ PASS scenario + ۶ FAIL scenario + custom URL + 422/500 handling

🚀 استفاده روی سرور Production

پس از دیپلوی، قبل از شروع UAT دستی توسط کارفرما:

cd /var/www/system.ifnex.ir

# ۱. تست‌های خودکار واحد
php artisan test
# انتظار: 82+ passed

# ۲. بررسی پیش‌از-دیپلوی
php artisan ifnex:preflight
# انتظار: همهٔ بررسی‌ها سبز

# ۳. تست E2E Post-Deploy
php artisan ifnex:smoke-test
# انتظار: همهٔ بررسی‌ها سبز (شامل API endpoints)

# ۴. اگر از دامنهٔ دیگری استفاده می‌کنید:
php artisan ifnex:smoke-test --url=https://system.ifnex.ir

اگر هر کدام قرمز بود، UAT را شروع نکنید.


📋 چک‌لیست UAT کارفرما

سند UAT-3.11.md در ریشهٔ این بسته، چک‌لیست ۴۳ موردی فارسی برای کارفرماست.

بخش‌ها:

# بخش موارد
۱ دسترسی و SSL ۳
۲ احراز هویت مشتری ۴
۳ فرم سفارش Export ۵
۴ فرم سفارش Import ۴
۵ دفترچه آدرس (فاز ۳.۹) ۳
۶ اسناد PDF ۴
۷ تأیید سفارش توسط کارمند ۳
۸ چک‌لیست کارمند ۲
۹ پرداخت با کیف پول ۲
۱۰ پرداخت آنلاین (Zarinpal) ۲
۱۱ کد تخفیف ۲
۱۲ داشبورد و وضعیت مالی ۳
۱۳ اعتبار چندارزی ۲
۱۴ رهگیری مرسوله ۲
۱۵ پنل مدیریت Filament ۲
مجموع ۴۳

در انتهای سند، فرم امضای تحویل رسمی برای امضای هر دو طرف وجود دارد.


🔧 دستور ifnex:smoke-test چه چیزی را تست می‌کند؟

دستور E2E خودکار Post-Deploy، ۲۵+ بررسی انجام می‌دهد:

زیرساخت

  • ✅ اتصال دیتابیس
  • ✅ وجود ۸ جدول اصلی (users, currencies, countries, system_settings, shipments, wallets, wallet_transactions, address_book_entries)
  • ✅ قابل‌نوشتن بودن storage و bootstrap/cache
  • ✅ اجرای config:cache و route:cache

داده‌ها

  • ✅ ۵ ارز پایه موجود (USD/AED/EUR/CNY/IRR)
  • ✅ نرخ ارزها غیر صفر (به‌جز IRR که ۱ است)
  • ✅ حداقل ۱۰۰ کشور در جدول countries
  • ✅ ۴ نقش Spatie موجود (super_admin, admin, staff, customer)
  • ✅ حداقل یک کاربر ادمین موجود
  • ✅ تنظیمات سیستم (vat_rate, profit_margin, packing_cost)

API Endpoints

  • ✅ GET /up → 200 (health check)
  • ✅ GET /api/v1/countries → 200 (public endpoint)
  • ✅ GET /api/v1/track/{invalid-awb} → 404 یا 422 (نه ۵۰۰)
  • ✅ GET /api/v1/customer/profile بدون توکن → 401 (نه ۲۰۰ — تست امنیتی)

خروجی به‌صورت جدول خوانا با PASS/FAIL، و کد ۰ یا ۱.


🚀 بعد از تست لوکال

اگر php artisan test سبز بود:

cd C:\xampp\htdocs\IFNEX-Logistics
git add .
git commit -m "feat(uat): phase 3.11 — ifnex:smoke-test E2E command + 9 tests + UAT-3.11.md checklist (43 items)"
git push origin main

سپس روی سرور Production:

cd /var/www/system.ifnex.ir
git pull origin main
php artisan ifnex:smoke-test --url=https://system.ifnex.ir

اگر سبز بود، سند UAT-3.11.md را به کارفرما بدهید تا UAT دستی را شروع کند.


🎯 گام بعدی

پس از امضای فرم تحویل توسط کارفرما، پروژه به‌صورت رسمی منتشر می‌شود و وارد مرحلهٔ پشتیبانی می‌گردد. موارد تأخیری (i18n، SMS، سند مالی) در نسخه‌های آتی آورده خواهند شد.