Initial commit: TradeMate 外贸小助手 MVP

项目结构:
- backend/     Python FastAPI 后端
- uni-app/     uni-app跨端前端
- docs/        设计文档
- docker-compose.yml  Docker编排
- nginx/scripts/systemd 运维配置

已完成功能:
- 用户认证 (JWT)
- 智能翻译 + 回复建议
- 营销素材生成
- 客户管理 + 沉默检测
- 报价单管理
- 产品库管理
- 汇率换算
- 推送通知 (uni-push)
- WhatsApp Webhook框架
- Celery定时任务
This commit is contained in:
TradeMate Dev
2026-05-08 18:17:12 +08:00
commit c6206787da
121 changed files with 11743 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
import pytest
from app.config import settings
class TestConfig:
def test_app_name(self):
assert settings.APP_NAME == "TradeMate"
def test_jwt_algorithm(self):
assert settings.JWT_ALGORITHM == "HS256"
def test_token_expiration(self):
assert settings.ACCESS_TOKEN_EXPIRE_MINUTES == 60
assert settings.REFRESH_TOKEN_EXPIRE_DAYS == 30
def test_ai_routing_config(self):
assert "translate" in settings.AI_ROUTING
assert "reply" in settings.AI_ROUTING
assert "marketing" in settings.AI_ROUTING
assert settings.AI_ROUTING["translate"]["primary"] == "deepl"
assert settings.AI_ROUTING["reply"]["primary"] == "openai"
def test_free_tier_limits(self):
assert settings.FREE_DAILY_TRANSLATE_CHARS == 5000
assert settings.FREE_DAILY_REPLIES == 20
assert settings.FREE_DAILY_MARKETING == 5
assert settings.FREE_MAX_CUSTOMERS == 5
assert settings.FREE_MAX_PRODUCTS == 1
assert settings.FREE_DAILY_QUOTATIONS == 3
def test_pro_tier_limits(self):
assert settings.PRO_DAILY_TRANSLATE_CHARS == 50000
assert settings.PRO_DAILY_REPLIES == 200
assert settings.PRO_MAX_CUSTOMERS == 100
assert settings.PRO_MAX_PRODUCTS == 20
def test_database_url_configured(self):
assert settings.DATABASE_URL is not None
assert "foreign_trade" in settings.DATABASE_URL
def test_redis_url_configured(self):
assert settings.REDIS_URL is not None