mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-30 19:02:16 +00:00
- Rewrite .github/workflows/desktop.yml: 2-job pipeline (validate + build-and-release) with rolling desktop-latest pre-release on push to main and stable desktop-v* releases - Add UpdateChecker component: checks for updates on startup + every 30 min, background download with progress bar, one-click relaunch - Configure Tauri updater: endpoints pointing to desktop-latest release, pubkey placeholder - Add tauri-plugin-process for relaunch support (Cargo.toml, lib.rs, package.json) - Add macOS Entitlements.plist for notarization (network + file access, no sandbox) - Add scripts/bump-desktop-version.sh for atomic version bumps across 3 config files - Add desktop/README.md with dev setup, auto-update architecture, signing docs - Update .gitignore for desktop/node_modules, dist, target - Configure macOS minimumSystemVersion, Windows timestampUrl - Include all Phase 14-21 work: agent hardening, RBAC, taint tracking, workflows, skills, knowledge graph, sessions, A2A, MCP templates, WASM sandbox, TUI dashboard, production tools, CLI expansion, API expansion, learning productionization, Tauri desktop app, and 10 new channels Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
882 B
Python
32 lines
882 B
Python
"""Tests for TUI dashboard (Phase 16.5)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import pytest
|
|
|
|
from openjarvis.cli.dashboard import DashboardApp
|
|
|
|
|
|
class TestDashboard:
|
|
def test_available_check(self):
|
|
result = DashboardApp.available()
|
|
assert isinstance(result, bool)
|
|
|
|
def test_create_app(self):
|
|
app = DashboardApp()
|
|
assert app is not None
|
|
|
|
def test_create_app_with_config(self):
|
|
app = DashboardApp(config={"test": True})
|
|
assert app._config == {"test": True}
|
|
|
|
@pytest.mark.skipif(
|
|
not DashboardApp.available(),
|
|
reason="textual not installed",
|
|
)
|
|
def test_run_import(self):
|
|
"""Verify run method can at least be called (won't actually launch)."""
|
|
# Just test that DashboardApp is properly importable and constructible
|
|
app = DashboardApp()
|
|
assert hasattr(app, "run")
|