"""Tests de la résolution de version GUI V6 (P1-7, Plan 3). La version release (schéma 2026.MM.JJ.HHMM) est générée au build Windows dans gui_v6/_build_version.py (non commité). En dev, repli sur la version par défaut. """ import sys import types from gui_v6.version import DEFAULT_VERSION, resolve_version def test_resolve_version_sans_module_build_retourne_defaut(monkeypatch): monkeypatch.setitem(sys.modules, "gui_v6._build_version", None) # sys.modules[name] = None => ImportError au `from ... import` assert resolve_version() == DEFAULT_VERSION def test_resolve_version_avec_module_build_retourne_version_injectee(monkeypatch): fake = types.ModuleType("gui_v6._build_version") fake.BUILD_VERSION = "2026.07.02.1130" monkeypatch.setitem(sys.modules, "gui_v6._build_version", fake) assert resolve_version() == "2026.07.02.1130" def test_resolve_version_build_version_vide_retourne_defaut(monkeypatch): fake = types.ModuleType("gui_v6._build_version") fake.BUILD_VERSION = "" monkeypatch.setitem(sys.modules, "gui_v6._build_version", fake) assert resolve_version() == DEFAULT_VERSION def test_dunder_version_est_cable_sur_resolve_version(): import gui_v6 # En dev (pas de _build_version généré), __version__ == défaut. assert gui_v6.__version__ == DEFAULT_VERSION