import json from quantum_learning.validation import load_notebook_execution_plan from quantum_learning.config import project_root def test_notebook_execution_plan_covers_capstone_and_entrypoints(): plan = load_notebook_execution_plan() identifiers = [target.identifier for target in plan.targets] assert plan.title == "QuantumLearning Notebook Execution Plan" assert "start-here" in identifiers assert "course-blueprint" in identifiers assert "capstone-studio" in identifiers assert len(plan.targets) >= 10 def test_all_tracked_notebooks_have_cell_ids(): root = project_root() / "notebooks" for path in sorted(root.rglob("*.ipynb")): if ".ipynb_checkpoints" in path.parts: continue data = json.loads(path.read_text()) for index, cell in enumerate(data.get("cells", [])): assert "id" in cell, f"Missing cell id in {path.relative_to(project_root())} cell {index}"