import sys
from types import SimpleNamespace
from pathlib import Path
import pytest

sys.path.append(str(Path(__file__).resolve().parents[1]))

import main


def _make_pm():
    return SimpleNamespace(display_stats=lambda: print("stats"))


def test_live_stats_shows_message(monkeypatch, capsys):
    pm = _make_pm()
    monkeypatch.setattr(main, "get_notification_text", lambda *_: "")
    monkeypatch.setattr(
        main,
        "timed_input",
        lambda *_: (_ for _ in ()).throw(KeyboardInterrupt()),
    )
    main._display_live_stats(pm)
    out = capsys.readouterr().out
    assert "Press Enter to continue." in out


def test_live_stats_shows_notification(monkeypatch, capsys):
    pm = _make_pm()
    monkeypatch.setattr(main, "get_notification_text", lambda *_: "note")
    monkeypatch.setattr(
        main,
        "timed_input",
        lambda *_: (_ for _ in ()).throw(KeyboardInterrupt()),
    )
    main._display_live_stats(pm)
    out = capsys.readouterr().out
    assert "note" in out
