This commit is contained in:
45
tests/test_skill_loader.py
Normal file
45
tests/test_skill_loader.py
Normal file
@@ -0,0 +1,45 @@
|
||||
"""Unit tests for Local Dynamic Skill Loader."""
|
||||
|
||||
import pytest
|
||||
from pathlib import Path
|
||||
from app.skills.loader import SkillLoader, LocalSkill
|
||||
from app.config import get_settings
|
||||
|
||||
|
||||
def test_skill_loader_discovery():
|
||||
"""Verify SkillLoader discovers all 4 phase skills under app/skills/."""
|
||||
settings = get_settings()
|
||||
loader = SkillLoader(settings.SKILLS_DIR)
|
||||
skills = loader.load_skills()
|
||||
|
||||
assert len(skills) >= 4
|
||||
assert "requirements_discovery" in skills
|
||||
assert "architecture_design" in skills
|
||||
assert "validation_rules" in skills
|
||||
assert "packaging_guide" in skills
|
||||
|
||||
|
||||
def test_skill_loader_by_phase():
|
||||
"""Verify filtering skills by phase."""
|
||||
settings = get_settings()
|
||||
loader = SkillLoader(settings.SKILLS_DIR)
|
||||
loader.load_skills()
|
||||
|
||||
discover_skills = loader.get_skills_by_phase("discover")
|
||||
assert len(discover_skills) == 1
|
||||
assert discover_skills[0].name == "requirements_discovery"
|
||||
|
||||
design_skills = loader.get_skills_by_phase("design")
|
||||
assert len(design_skills) == 1
|
||||
assert design_skills[0].name == "architecture_design"
|
||||
|
||||
|
||||
def test_format_skills_for_prompt():
|
||||
"""Verify formatting skill content into prompt text."""
|
||||
settings = get_settings()
|
||||
loader = SkillLoader(settings.SKILLS_DIR)
|
||||
loader.load_skills()
|
||||
|
||||
prompt = loader.format_skills_for_prompt("discover")
|
||||
assert "## Injected Skill Instructions" in prompt
|
||||
assert "requirements_discovery" in prompt
|
||||
Reference in New Issue
Block a user