feat: durées en minutes + feedback visuel du retraitement

- Filtre format_duration : affiche les temps en min/s au lieu de secondes brutes
- Bouton reprocess : spinner animé, compteur temps réel, confirmation immédiate

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
dom
2026-02-11 17:18:03 +01:00
parent 9d07894c6f
commit 86a26b9f8c
5 changed files with 72 additions and 17 deletions

View File

@@ -2,7 +2,7 @@
import pytest
from src.viewer.app import create_app, compute_group_stats, severity_badge
from src.viewer.app import create_app, compute_group_stats, severity_badge, format_duration
from src.config import DossierMedical, Diagnostic, ActeCCAM
@@ -80,6 +80,23 @@ class TestSeverityBadgeFilter:
assert result == ""
class TestFormatDuration:
def test_none(self):
assert format_duration(None) == ""
def test_seconds_only(self):
assert format_duration(45.3) == "45.3s"
def test_minutes(self):
assert format_duration(150.0) == "2min 30s"
def test_exact_minutes(self):
assert format_duration(120.0) == "2min"
def test_large_duration(self):
assert format_duration(1257.65) == "20min 57s"
class TestIndexPageLoads:
def test_index_page_loads(self, client):
response = client.get("/")