ميزة: إضافة مكوني ProcedureSelection و StepProgress لأداة مخططات التدفق بصيغة PDF
- تنفيذ مكون ProcedureSelection لتمكين المستخدمين من اختيار الإجراءات من قائمة، وإدارة الاختيارات، ومعالجة الإجراءات المرفوضة. - إنشاء مكون StepProgress لعرض تقدم معالج متعدد الخطوات بشكل مرئي. - تعريف أنواع مشتركة للإجراءات، وخطوات التدفق، ورسائل الدردشة في ملف types.ts. - إضافة اختبارات وحدة لخطافات useFileUpload و useTaskPolling لضمان الأداء السليم ومعالجة الأخطاء. - تنفيذ اختبارات واجهة برمجة التطبيقات (API) للتحقق من تنسيقات نقاط النهاية وضمان اتساق ربط الواجهة الأمامية بالخلفية.
This commit is contained in:
@@ -1,19 +1,21 @@
|
||||
"""Tests for text utility functions."""
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Add backend to path so we can import utils directly
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
from app.utils.file_validator import validate_file
|
||||
"""Tests for general utility functions."""
|
||||
from app.utils.sanitizer import generate_safe_path
|
||||
|
||||
|
||||
def test_generate_safe_path():
|
||||
def test_generate_safe_path(app):
|
||||
"""generate_safe_path should produce UUID-based path."""
|
||||
path = generate_safe_path('uploads', 'test.pdf')
|
||||
assert path.startswith('uploads')
|
||||
assert path.endswith('.pdf')
|
||||
# Should contain a UUID directory
|
||||
parts = path.replace('\\', '/').split('/')
|
||||
assert len(parts) >= 3 # uploads / uuid / filename.pdf
|
||||
with app.app_context():
|
||||
task_id, path = generate_safe_path('pdf', folder_type='upload')
|
||||
assert task_id in path
|
||||
assert path.endswith('.pdf')
|
||||
# Should contain a UUID directory
|
||||
parts = path.replace('\\', '/').split('/')
|
||||
assert len(parts) >= 3 # /tmp/test_uploads / uuid / filename.pdf
|
||||
|
||||
|
||||
def test_generate_safe_path_unique(app):
|
||||
"""Each call should produce a unique task_id."""
|
||||
with app.app_context():
|
||||
id1, _ = generate_safe_path('pdf')
|
||||
id2, _ = generate_safe_path('pdf')
|
||||
assert id1 != id2
|
||||
|
||||
Reference in New Issue
Block a user