from __future__ import annotations

import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))

from ui.view_model import DashboardCallbacks


def test_dashboard_callbacks_includes_on_set_limits() -> None:
    calls: list[tuple[str, str]] = []

    callbacks = DashboardCallbacks(
        on_set_default=lambda _tool, _slug: None,
        on_reload=lambda _tool, _slug: None,
        on_repair=lambda _tool, _slug: None,
        on_rename=lambda _tool, _slug: None,
        on_remove=lambda _tool, _slug: None,
        on_add=lambda _tool: None,
        on_open_settings=lambda: None,
        on_set_limits=lambda tool, slug: calls.append((tool, slug)),
        on_tab_changed=lambda _tab_id: None,
    )

    callbacks.on_set_limits("codex", "zync2")
    assert calls == [("codex", "zync2")]
