from __future__ import annotations import pytest from vibe.cli.textual_ui.session_exit import print_session_resume_message from vibe.core.config import SessionLoggingConfig from vibe.core.types import AgentStats def test_print_session_resume_message_skips_output_without_session_id( capsys: pytest.CaptureFixture[str], ) -> None: print_session_resume_message(None, AgentStats(), SessionLoggingConfig()) assert capsys.readouterr().out == "" def test_print_session_resume_message_prints_resume_commands_and_usage( capsys: pytest.CaptureFixture[str], ) -> None: print_session_resume_message( "12345678-1234-1234-1234-123456789abc", AgentStats(session_prompt_tokens=14_867, session_completion_tokens=6), SessionLoggingConfig(), ) assert capsys.readouterr().out == ( "\n" "Total tokens used this session: input=14,867 output=6 (total=14,873)\n" "\n" "To continue this session, run: vibe --continue\n" "Or: vibe --resume 12345678-1234-1234-1234-123456789abc\n" ) def test_print_session_resume_message_prints_zero_usage_for_resumed_run_without_llm_activity( capsys: pytest.CaptureFixture[str], ) -> None: print_session_resume_message("12345678", AgentStats(), SessionLoggingConfig()) assert capsys.readouterr().out == ( "\n" "Total tokens used this session: input=0 output=0 (total=0)\n" "\n" "To continue this session, run: vibe --continue\n" "Or: vibe --resume 12345678\n" )