Files
xiaoxia-saas/tests/integration/test_sqlalchemy_repositories.py
T
xiaoxia a5e5ba4426
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 142h46m12s
CI/CD Pipeline / Frontend Lint (push) Failing after 142h46m42s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 142h46m50s
test: 添加核心流程 E2E 测试
- 认证流程(注册/登录/登出/获取用户信息,正向+反向共 10 个用例)
- 工作空间流程(创建/列出/详情/成员,共 6 个用例)
- 项目流程(创建/列出/详情/未授权,共 6 个用例)
- 素材库流程(创建库/列出库/创建素材/列出素材,共 8 个用例)

共 30 个回归测试用例,覆盖视频生成 SaaS 核心业务路径。
2026-07-03 14:07:29 +08:00

42 lines
1.3 KiB
Python
Executable File

from sqlalchemy import create_engine
from sqlalchemy.orm import Session, sessionmaker
from packages.adapters.sqlalchemy_impl.models import Base
from packages.adapters.sqlalchemy_impl.project_repository import (
SQLAlchemyProjectRepository,
)
from packages.application import CreateProjectCommand, CreateProjectUseCase
def test_sqlalchemy_project_repository():
"""Test SQLAlchemy project repository with in-memory SQLite."""
# Create in-memory SQLite database
engine = create_engine("sqlite:///:memory:")
Base.metadata.create_all(engine)
SessionLocal = sessionmaker(bind=engine)
session: Session = SessionLocal()
try:
# Create repository and use case
repository = SQLAlchemyProjectRepository(session)
use_case = CreateProjectUseCase(repository)
# Create project
project = use_case.execute(
CreateProjectCommand(
name="Test Project",
description="Test description",
),
owner_user_id="user-1",
)
assert project.name == "Test Project"
# List projects by owner
projects = repository.find_by_owner_user_id("user-1")
assert len(projects) == 1
assert projects[0].id == project.id
assert projects[0].name == "Test Project"
finally:
session.close()