ميزة: تحديث صفحات الخصوصية والشروط مع تاريخ آخر تحديث ثابت وفترة احتفاظ ديناميكية بالملفات
ميزة: إضافة خدمة تحليلات لتكامل Google Analytics اختبار: تحديث اختبارات خدمة واجهة برمجة التطبيقات (API) لتعكس تغييرات نقاط النهاية إصلاح: تعديل خدمة واجهة برمجة التطبيقات (API) لدعم تحميل ملفات متعددة ومصادقة المستخدم ميزة: تطبيق مخزن مصادقة باستخدام Zustand لإدارة المستخدمين إصلاح: تحسين إعدادات Nginx لتعزيز الأمان ودعم التحليلات
This commit is contained in:
54
backend/tests/test_flowchart_tasks.py
Normal file
54
backend/tests/test_flowchart_tasks.py
Normal file
@@ -0,0 +1,54 @@
|
||||
"""Tests for flowchart task routes."""
|
||||
import io
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
|
||||
class TestFlowchartTaskRoutes:
|
||||
def test_extract_flowchart_dispatches_task(self, client, monkeypatch):
|
||||
"""Should dispatch extraction task for uploaded PDF."""
|
||||
mock_task = MagicMock()
|
||||
mock_task.id = "flow-task-id"
|
||||
mock_delay = MagicMock(return_value=mock_task)
|
||||
|
||||
monkeypatch.setattr(
|
||||
"app.routes.flowchart.validate_actor_file",
|
||||
lambda f, allowed_types, actor: ("manual.pdf", "pdf"),
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
"app.routes.flowchart.generate_safe_path",
|
||||
lambda ext: ("flow-task-id", "/tmp/test.pdf"),
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
"app.routes.flowchart.extract_flowchart_task.delay",
|
||||
mock_delay,
|
||||
)
|
||||
|
||||
response = client.post(
|
||||
"/api/flowchart/extract",
|
||||
data={"file": (io.BytesIO(b"%PDF-1.4"), "manual.pdf")},
|
||||
content_type="multipart/form-data",
|
||||
)
|
||||
|
||||
assert response.status_code == 202
|
||||
body = response.get_json()
|
||||
assert body["task_id"] == "flow-task-id"
|
||||
|
||||
args = mock_delay.call_args[0]
|
||||
assert args[0] == "/tmp/test.pdf"
|
||||
assert args[1] == "flow-task-id"
|
||||
assert args[2] == "manual.pdf"
|
||||
|
||||
def test_extract_sample_dispatches_task(self, client, monkeypatch):
|
||||
"""Should dispatch sample extraction task without file upload."""
|
||||
mock_task = MagicMock()
|
||||
mock_task.id = "sample-flow-task-id"
|
||||
|
||||
monkeypatch.setattr(
|
||||
"app.routes.flowchart.extract_sample_flowchart_task.delay",
|
||||
MagicMock(return_value=mock_task),
|
||||
)
|
||||
|
||||
response = client.post("/api/flowchart/extract-sample")
|
||||
assert response.status_code == 202
|
||||
body = response.get_json()
|
||||
assert body["task_id"] == "sample-flow-task-id"
|
||||
Reference in New Issue
Block a user