import importlib.util from pathlib import Path SCRIPT_PATH = Path(__file__).resolve().parents[1] / "tools" / "docs.py" SPEC = importlib.util.spec_from_file_location("docs_script", SCRIPT_PATH) docs = importlib.util.module_from_spec(SPEC) SPEC.loader.exec_module(docs) def test_documentation_command_deploys_project_version(monkeypatch): monkeypatch.setattr(docs, "project_version", lambda: "1.2.3") assert docs.documentation_command() == [ "mike", "deploy", "--update-aliases", "1.2.3", "latest", ] def test_documentation_command_previews_current_source(): assert docs.documentation_command(dev=True) == ["mkdocs", "serve"] def test_main_runs_from_project_root(monkeypatch): calls = [] monkeypatch.setattr( docs.subprocess, "run", lambda *args, **kwargs: calls.append((args, kwargs)), ) docs.main(["-dev"]) assert calls == [ ( (["mkdocs", "serve"],), {"cwd": docs.PROJECT_ROOT, "check": True}, ) ]