Files
xiaoxia-saas/tests/unit/test_project_title_repository.py
T
API文档维护Agent e3fb518ab2
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
refactor: remove all workspace_id references from codebase
- Remove workspace_id from Pydantic models in project_management routes
- Remove workspace_id from SQLAlchemy and SQLite project management repos
- Remove workspace_id from worker tasks (storage keys, entity creation)
- Remove workspace_id from video dedup and title usage modules
- Remove workspace_id from generation and ingest worker tasks
- Clean workspace_id from all test files and scripts
- Remove workspace-specific test files (list_workspaces, workspace repos)

Task: #14 workspace_id 残留清理
2026-06-27 22:52:09 +08:00

51 lines
1.5 KiB
Python

import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "apps" / "api"))
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from packages.adapters.sqlalchemy_impl.models import Base
from packages.adapters.sqlalchemy_impl.project_title_repository import SQLAlchemyProjectTitleRepository
def _repository():
engine = create_engine("sqlite:///:memory:")
Base.metadata.create_all(engine)
session = sessionmaker(bind=engine)()
return SQLAlchemyProjectTitleRepository(session)
def test_project_title_repository_creates_and_lists_titles():
repository = _repository()
title = repository.create(
project_id="project-1",
text=" 3 分钟看懂产品亮点 ",
category="marketing",
favorite=True,
created_by_user_id="user-1",
)
assert title.text == "3 分钟看懂产品亮点"
assert title.category == "marketing"
assert title.favorite is True
assert title.usage_count == 0
assert title.is_active is True
assert repository.list_by_project("project-1") == [title]
def test_project_title_repository_filters_inactive_titles():
repository = _repository()
title = repository.create(
project_id="project-1",
text="停用标题",
category="default",
created_by_user_id="user-1",
)
title.is_active = False
repository.update(title)
assert repository.list_by_project("project-1", active_only=True) == []