ATP - پیشرفت پرونده (GET /api/v1/invention-cases/{invention_case_id}/progress/)
Endpoint
GET /api/v1/invention-cases/{invention_case_id}/progress/
هدف آزمون
دریافت progress، readiness summary و recommended action.
شرایط آزمون
- سرویس core-api در حال اجرا باشد
- هدر Authorization با access token معتبر
فرآیند آزمون
- ارسال درخواست GET به
/api/v1/invention-cases/{invention_case_id}/progress/ - دریافت پاسخ HTTP
- بررسی کد وضعیت و بدنه JSON
معرفی ویژگی
نمای aggregate برای dashboard و tooling. شامل intake_readiness_summary، شمارش اسناد، وضعیت extraction و draft summary است.
- intake_readiness_summary: preparing | ready_to_continue | extraction_failed | missing_information_required
- extraction_summary: تعداد requestها به تفکیک status
- recommended_next_action: راهنمای UI برای قدم بعد
سناریوی آزمون
سناریو 1: مسیر موفق
- ارسال
GET /api/v1/invention-cases/{invention_case_id}/progress/ - دریافت پاسخ موفق
- بررسی ساختار پاسخ
سناریو 2: خطا - درخواست نامعتبر
- ارسال درخواست با داده یا شناسه نامعتبر
- دریافت کد خطای 4xx
- بررسی پیام خطای استاندارد API
سناریو 3: پس از extraction_failed
- شبیهسازی failed extraction
- GET progress
- بررسی intake_readiness_summary.state="extraction_failed"
- بررسی warnings یا main_blocker مرتبط
سناریو 4: ready_to_continue
- تکمیل همه extractionها
- GET progress
- بررسی state="ready_to_continue"
- بررسی recommended_next_action برای شروع context
قالب API
| مولفه | نوع | نوع داده | اجباری | توضیحات |
|---|---|---|---|---|
| invention_case_id | Path | uuid | بله | شناسه پرونده اختراع |
Swagger
get:
summary: پیشرفت پرونده
responses:
200:
description: عملیات موفق
401:
description: احراز هویت نامعتبر یا ناقص
نمونه ورودی
curl -X GET "http://localhost:8000/api/v1/invention-cases/{invention_case_id}/progress/" \
-H "Authorization: Bearer <access>" \
-H "Content-Type: application/json"
نمونه خروجی
{
"success": true,
"data": {
"case_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"current_stage": "information_collection",
"intake_readiness_summary": {
"state": "preparing",
"message": "Preparing your next step..."
},
"source_document_summary": { "total_count": 1, "by_extraction_status": { "pending": 1 } },
"recommended_next_action": "Wait for document extraction to finish."
}
}
Status Codes
- 200: عملیات موفق
- 401: احراز هویت نامعتبر یا ناقص
نتیجه مورد انتظار
در صورت موفقیت، پاسخ JSON استاندارد با کد وضعیت مناسب برای GET برگردانده میشود.
روال صحتسنجی
- بررسی 200
- بررسی presence کلیدهای intake_readiness_summary و extraction_summary
- بررسی recommended_next_action غیرخالی
- مقایسه state با workflow-state.information_collection.intake
توضیحات
- مسیر باید با پیادهسازی فعلی urls.py همخوان باشد