37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
"""Tests for prompt template service."""
|
|
|
|
import pytest
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
from app.db import Base, init_db
|
|
from app.prompts.defaults import seed_default_templates
|
|
from app.prompts.service import PromptService
|
|
|
|
|
|
def get_test_db():
|
|
engine = create_engine("sqlite:///:memory:")
|
|
Base.metadata.create_all(bind=engine)
|
|
Session = sessionmaker(bind=engine)
|
|
return Session()
|
|
|
|
|
|
def test_seed_and_render():
|
|
db = get_test_db()
|
|
seed_default_templates(db)
|
|
service = PromptService(db)
|
|
rendered = service.render("code_review", None, {"language": "python", "diff": "+x"})
|
|
assert "python" in rendered
|
|
assert "+x" in rendered
|
|
|
|
|
|
def test_create_version_increments():
|
|
db = get_test_db()
|
|
service = PromptService(db)
|
|
v1 = service.create_version("test", "L1", "hello {{ name }}")
|
|
v2 = service.create_version("test", "L1", "hello {{ name }} v2")
|
|
assert v1.version_number == 1
|
|
assert v2.version_number == 2
|
|
versions = service.list_versions("test", "L1")
|
|
assert len(versions) == 2
|