# 📋 بستهٔ فاز ۳.۱۱ — 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 ← همین فایل ``` `★` = فایل جدید --- ## 🧪 تست روی لوکال ```powershell 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 دستی توسط کارفرما: ```bash 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` سبز بود: ```powershell 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: ```bash 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، سند مالی) در نسخه‌های آتی آورده خواهند شد.