Files
aitsc/test_complete_flow.py
2025-08-29 00:34:40 +08:00

102 lines
3.8 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""
完整流程测试:模板选择 -> 生成提示词 -> 收藏
"""
from src.flask_prompt_master import create_app, db
from src.flask_prompt_master.models.models import PromptTemplate, Prompt
from src.flask_prompt_master.models.favorites import Favorite
from src.flask_prompt_master.services.favorite_service import FavoriteService
from datetime import datetime
def test_complete_flow():
"""测试完整流程"""
app = create_app()
with app.app_context():
print("=" * 60)
print("完整流程测试:模板选择 -> 生成提示词 -> 收藏")
print("=" * 60)
try:
# 1. 检查模板
templates = PromptTemplate.query.all()
print(f"📋 可用模板数: {len(templates)}")
if not templates:
print("❌ 没有可用模板")
return
# 2. 模拟选择第一个模板
selected_template = templates[0]
print(f"✅ 选择模板: {selected_template.name} (ID: {selected_template.id})")
# 3. 模拟输入文本
input_text = "写一个关于天气的文章"
print(f"📝 输入文本: {input_text}")
# 4. 模拟生成提示词
generated_text = "请撰写一篇关于天气的综合性文章..."
print(f"🎯 生成提示词: {generated_text[:50]}...")
# 5. 模拟收藏操作
print("\n💾 测试收藏功能...")
# 创建模拟请求对象
class MockRequest:
def __init__(self, remote_addr):
self.remote_addr = remote_addr
mock_request = MockRequest('192.168.31.136')
# 测试添加收藏
favorite_data = {
'template_id': selected_template.id,
'original_text': input_text,
'generated_prompt': generated_text,
'category': selected_template.category,
'notes': '测试收藏'
}
# 直接创建收藏记录
favorite = Favorite(
user_id=mock_request.remote_addr,
template_id=favorite_data['template_id'],
original_text=favorite_data['original_text'],
generated_prompt=favorite_data['generated_prompt'],
category=favorite_data['category'],
notes=favorite_data['notes']
)
db.session.add(favorite)
db.session.commit()
print(f"✅ 收藏成功收藏ID: {favorite.id}")
# 6. 验证收藏
saved_favorite = Favorite.query.get(favorite.id)
if saved_favorite:
print(f"✅ 验证收藏成功:")
print(f" 用户ID: {saved_favorite.user_id}")
print(f" 模板ID: {saved_favorite.template_id}")
print(f" 原始文本: {saved_favorite.original_text[:30]}...")
print(f" 分类: {saved_favorite.category}")
print(f" 备注: {saved_favorite.notes}")
else:
print("❌ 收藏验证失败")
# 7. 测试查询收藏
user_favorites = Favorite.query.filter_by(user_id=mock_request.remote_addr).all()
print(f"\n📊 用户收藏统计: {len(user_favorites)} 个收藏")
print("\n" + "=" * 60)
print("✅ 完整流程测试成功!")
print("=" * 60)
except Exception as e:
print(f"❌ 测试过程中出现错误: {str(e)}")
db.session.rollback()
raise
if __name__ == '__main__':
test_complete_flow()