102 lines
3.8 KiB
Python
102 lines
3.8 KiB
Python
|
|
# -*- 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()
|