feat(m9): graphical first-run setup wizard — 0.26.0
The full installer experience as a GUI wizard (gui/setup_wizard.py): environment summary → pick dependency bundles (from the catalog, grouped) → install missing apt packages → choose recording trigger → readiness summary. - Shown on first launch (config setup_done) and via `rigdoctor-gui --setup`; re-runnable from Settings → Run setup wizard. - install.sh launches it after a fresh install when a desktop session is present. - catalog.by_bundle() groups components; config gains setup_done. - Tests: by_bundle grouping + wizard construction smoke. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
import unittest
|
||||
|
||||
from rigdoctor.core import installer
|
||||
from rigdoctor.core import catalog, installer
|
||||
from rigdoctor.core.catalog import Component
|
||||
from rigdoctor.core.updates import is_newer
|
||||
|
||||
@@ -31,6 +31,13 @@ class InstallerTests(unittest.TestCase):
|
||||
rc, _ = installer.install_packages([])
|
||||
self.assertEqual(rc, 0)
|
||||
|
||||
def test_by_bundle_groups_all_components(self):
|
||||
groups = catalog.by_bundle()
|
||||
flat = [c for comps in groups.values() for c in comps]
|
||||
self.assertEqual(len(flat), len(catalog.COMPONENTS))
|
||||
self.assertIn("Gaming", groups)
|
||||
self.assertIn("Diagnostics", groups)
|
||||
|
||||
|
||||
class UpdateTests(unittest.TestCase):
|
||||
def test_is_newer(self):
|
||||
|
||||
Reference in New Issue
Block a user