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()
|