44import typer .testing
55
66from comfy_cli import constants
7- from comfy_cli .command .models .models import app , check_civitai_url , check_huggingface_url , list_models
7+ from comfy_cli .command .models .models import _format_elapsed , app , check_civitai_url , check_huggingface_url , list_models
88
99
1010def _make_model_tree (tmp_path : pathlib .Path ) -> pathlib .Path :
@@ -307,6 +307,29 @@ def test_huggingface_url_with_folder_structure():
307307 )
308308
309309
310+ class TestFormatElapsed :
311+ def test_under_one_minute (self ):
312+ assert _format_elapsed (5.3 ) == "5.3s"
313+
314+ def test_fractional_seconds (self ):
315+ assert _format_elapsed (0.4 ) == "0.4s"
316+
317+ def test_rounds_up_to_minute_boundary (self ):
318+ assert _format_elapsed (59.95 ) == "1m 0s"
319+
320+ def test_exactly_sixty_seconds (self ):
321+ assert _format_elapsed (60 ) == "1m 0s"
322+
323+ def test_minutes_and_seconds (self ):
324+ assert _format_elapsed (154 ) == "2m 34s"
325+
326+ def test_over_one_hour (self ):
327+ assert _format_elapsed (3661 ) == "1h 1m 1s"
328+
329+ def test_large_duration (self ):
330+ assert _format_elapsed (7384 ) == "2h 3m 4s"
331+
332+
310333# ---------------------------------------------------------------------------
311334# --downloader CLI option tests
312335# ---------------------------------------------------------------------------
@@ -327,7 +350,7 @@ def test_downloader_flag_forwarded(self, tmp_path):
327350 patch ("comfy_cli.tracking.track_command" , lambda _cmd : lambda fn : fn ),
328351 ):
329352 mock_ui .prompt_input .side_effect = ["mymodel.bin" , "" ]
330- runner .invoke (
353+ result = runner .invoke (
331354 app ,
332355 [
333356 "download" ,
@@ -343,6 +366,7 @@ def test_downloader_flag_forwarded(self, tmp_path):
343366 assert mock_dl .called
344367 _ , kwargs = mock_dl .call_args
345368 assert kwargs .get ("downloader" ) == "aria2"
369+ assert "Done in " in result .output
346370
347371 def test_default_from_config (self , tmp_path ):
348372 """Config default_downloader is used when no --downloader flag."""
0 commit comments