prole/tests/installer
chrisfu ec50f82cc8 refactor: deduplicate installer business logic & split screens.py into package
Separation of concerns: merge silent/UI actions & modularize screens.

ProleInstallerBase (actions.py): Created shared base class with 37 deduplicated methods previously duplicated between ProleSilentInstaller and ProleInstaller. Namespace, environment, secret, deployment, port-forward, authority/repair, image, and logging helpers now defined once. Subclasses override _get_input() to bridge their data-access layers.

screens.py -> screens/ package (18 mixin modules): Split 10,234-line monolithic screens.py into focused mixin modules: base, navigation, welcome, dependencies, network, environment, database, cluster, services, security, ollama, supabase, docker, build, packaging, deploy, validate, cfg. __init__.py composes ProleInstaller from all mixins and re-exports has_display(), main() for full backward compatibility.

All 37 tests pass with no regressions.
2026-02-20 14:43:20 -08:00
..
test_build.py feat(installer): improve UI and add test coverage for core features 2026-01-08 21:51:30 -08:00
test_config.py feat(installer): improve UI and add test coverage for core features 2026-01-08 21:51:30 -08:00
test_milestones.py refactor: deduplicate installer business logic & split screens.py into package 2026-02-20 14:43:20 -08:00
test_screen.py feat(installer): improve UI and add test coverage for core features 2026-01-08 21:51:30 -08:00