Add debug CLI decisions, POIs, and tasks subcommands

This commit is contained in:
Viktor Barzin 2026-02-22 15:15:30 +00:00
parent 2196e256f4
commit 34f9e933c0
No known key found for this signature in database
GPG key ID: 0EB088298288D958
5 changed files with 551 additions and 0 deletions

View file

@ -54,3 +54,56 @@ class TestDistrictsCommand:
import json
data = json.loads(result.output)
assert "London" in data
class TestDecisionsCommand:
"""Tests for debug decisions subcommand."""
@patch("cli.decisions.decision_service.set_decision")
@patch("cli.decisions.resolve_user_id", return_value=1)
@patch("main.engine", new_callable=MagicMock)
def test_set_decision_direct(
self, mock_engine: MagicMock, mock_resolve: MagicMock, mock_set: MagicMock
) -> None:
from datetime import datetime
mock_set.return_value = MagicMock(
listing_id=123, listing_type="RENT", decision="liked",
created_at=datetime(2025, 1, 1), updated_at=datetime(2025, 1, 1),
)
runner = CliRunner()
result = runner.invoke(
cli, ["debug", "-u", "test@example.com", "decisions", "set", "123", "liked", "-t", "RENT"]
)
assert result.exit_code == 0
mock_set.assert_called_once()
@patch("cli.decisions.decision_service.get_user_decisions")
@patch("cli.decisions.resolve_user_id", return_value=1)
@patch("main.engine", new_callable=MagicMock)
def test_list_decisions_direct(
self, mock_engine: MagicMock, mock_resolve: MagicMock, mock_list: MagicMock
) -> None:
mock_list.return_value = []
runner = CliRunner()
result = runner.invoke(
cli, ["debug", "-u", "test@example.com", "decisions", "list"]
)
assert result.exit_code == 0
class TestPOIsCommand:
"""Tests for debug pois subcommand."""
@patch("cli.pois.poi_service.get_user_pois")
@patch("cli.pois.resolve_user_id", return_value=1)
@patch("main.engine", new_callable=MagicMock)
def test_list_pois_empty(
self, mock_engine: MagicMock, mock_resolve: MagicMock, mock_pois: MagicMock
) -> None:
mock_pois.return_value = []
runner = CliRunner()
result = runner.invoke(
cli, ["debug", "-u", "test@example.com", "pois", "list"]
)
assert result.exit_code == 0
assert "No results" in result.output