123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/bin/bash
- echo "🔄 测试任务状态更新"
- echo "=================="
- # 获取token
- LOGIN_RESP=$(curl -s -X POST -H "Content-Type: application/json" \
- -d '{"email":"test@example.com","password":"12345678"}' \
- http://localhost:3001/api/auth/login)
- if [[ $LOGIN_RESP == *"token"* ]]; then
- TOKEN=$(echo $LOGIN_RESP | grep -o '"token":"[^"]*"' | cut -d'"' -f4)
- echo "✅ 登录成功"
-
- # 获取任务列表
- echo "📋 获取任务列表..."
- TASKS_RESP=$(curl -s -H "Authorization: Bearer $TOKEN" \
- http://localhost:3001/api/tasks)
-
- # 提取第一个任务的ID
- TASK_ID=$(echo $TASKS_RESP | grep -o '"id":[0-9]*' | head -1 | cut -d':' -f2)
- echo "🎯 测试任务ID: $TASK_ID"
-
- if [[ -n "$TASK_ID" ]]; then
- echo ""
- echo "🧪 测试1: 包含所有字段的更新(模拟前端发送的数据)"
- UPDATE_RESP1=$(curl -s -X PUT -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -d '{
- "id": '$TASK_ID',
- "title": "测试任务",
- "description": "测试描述",
- "status": "in_progress",
- "priority": "high",
- "due_date": null,
- "created_at": "2025-07-10 15:28:01",
- "updated_at": "2025-07-10 15:28:01"
- }' \
- http://localhost:3001/api/tasks/$TASK_ID)
-
- echo "响应1: $UPDATE_RESP1"
-
- echo ""
- echo "🧪 测试2: 只包含必要字段的更新"
- UPDATE_RESP2=$(curl -s -X PUT -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -d '{
- "status": "completed"
- }' \
- http://localhost:3001/api/tasks/$TASK_ID)
-
- echo "响应2: $UPDATE_RESP2"
-
- else
- echo "❌ 未找到可测试的任务"
- fi
-
- else
- echo "❌ 登录失败: $LOGIN_RESP"
- fi
|