feat: 新增用车需求服务及线索管理全功能
- 新增后台用车服务配置模块,支持维护服务简介、优势与使用流程 - 新增需求线索管理页面,支持筛选、查看与更新用车线索状态 - 新增小程序用车需求页面,优化登录路径与回跳逻辑 - 优化车型卡片跳转与用车需求提交功能 - 新增服务端API与数据处理逻辑,完善权限校验 - 更新全站配置与API文档,新增相关测试用例
This commit is contained in:
1 parent
b7a81964c9
commit
d42f69bd47
36 files changed
+1290
-33
No files matched your search
@@ -1,6 +1,48 @@
|
||||
import pytest
|
||||
from pydantic import ValidationError
|
||||
|
||||
from app.schemas import LeadCreateIn
|
||||
|
||||
|
||||
def test_lead_phone_is_normalized():
|
||||
lead = LeadCreateIn(phone=" 187 8617 4929 ")
|
||||
assert lead.phone == "187 8617 4929"
|
||||
|
||||
|
||||
def test_vehicle_lead_normalizes_nested_demand():
|
||||
lead = LeadCreateIn(
|
||||
leadType="vehicle",
|
||||
contactName=" Damon ",
|
||||
phone=" 13800000000 ",
|
||||
vehicleDemand={
|
||||
"serviceType": "charter",
|
||||
"charterDuration": "fullDay",
|
||||
"travelDate": "2026-08-25",
|
||||
"pickupTime": "09:00",
|
||||
"pickupLocation": " 贵阳北站 ",
|
||||
"dropoffLocation": " 黄果树景区 ",
|
||||
"peopleCount": 5,
|
||||
"luggageCount": 3,
|
||||
"vehicleOptionId": "vehicle-option-uuid",
|
||||
"vehicleOptionTitle": "多人商务车",
|
||||
"specialRequirements": " 需要儿童座椅 ",
|
||||
},
|
||||
sourcePage="home-vehicle",
|
||||
)
|
||||
|
||||
assert lead.leadType == "vehicle"
|
||||
assert lead.contactName == "Damon"
|
||||
assert lead.vehicleDemand.travelDate.isoformat() == "2026-08-25"
|
||||
assert lead.vehicleDemand.pickupLocation == "贵阳北站"
|
||||
assert lead.vehicleDemand.specialRequirements == "需要儿童座椅"
|
||||
|
||||
|
||||
def test_vehicle_lead_requires_vehicle_demand():
|
||||
with pytest.raises(ValidationError):
|
||||
LeadCreateIn(leadType="vehicle", phone="13800000000")
|
||||
|
||||
|
||||
def test_generic_lead_remains_guest_compatible():
|
||||
lead = LeadCreateIn(phone="13800000000", destination="贵州")
|
||||
assert lead.leadType == "general"
|
||||
assert lead.vehicleDemand is None
|
||||
Reference in new issue
Block a user