test:添加带验证码的注册流程测试脚本

- 创建完整的注册流程测试脚本
- 包含发送验证码和注册两个步骤
- 支持交互式输入验证码进行测试
This commit is contained in:
moyin
2025-12-17 20:11:34 +08:00
parent 5b07535002
commit 0065357fa5

View File

@@ -0,0 +1,59 @@
# 测试带验证码的注册流程
# 作者: moyin
# 日期: 2025-12-17
$baseUrl = "http://localhost:3000"
$testEmail = "test@example.com"
Write-Host "=== 测试带验证码的注册流程 ===" -ForegroundColor Green
# 步骤1: 发送邮箱验证码
Write-Host "`n1. 发送邮箱验证码..." -ForegroundColor Yellow
$sendVerificationBody = @{
email = $testEmail
} | ConvertTo-Json
try {
$sendResponse = Invoke-RestMethod -Uri "$baseUrl/auth/send-email-verification" -Method POST -Body $sendVerificationBody -ContentType "application/json"
Write-Host "发送验证码响应: $($sendResponse | ConvertTo-Json -Depth 3)" -ForegroundColor Cyan
if ($sendResponse.success) {
Write-Host "✓ 验证码发送成功" -ForegroundColor Green
# 步骤2: 提示用户输入验证码
Write-Host "`n2. 请输入收到的验证码..." -ForegroundColor Yellow
$verificationCode = Read-Host "验证码"
# 步骤3: 使用验证码注册
Write-Host "`n3. 使用验证码注册..." -ForegroundColor Yellow
$registerBody = @{
username = "testuser_$(Get-Date -Format 'yyyyMMddHHmmss')"
password = "password123"
nickname = "测试用户"
email = $testEmail
email_verification_code = $verificationCode
} | ConvertTo-Json
$registerResponse = Invoke-RestMethod -Uri "$baseUrl/auth/register" -Method POST -Body $registerBody -ContentType "application/json"
Write-Host "注册响应: $($registerResponse | ConvertTo-Json -Depth 3)" -ForegroundColor Cyan
if ($registerResponse.success) {
Write-Host "✓ 注册成功!" -ForegroundColor Green
Write-Host "用户信息: $($registerResponse.data.user | ConvertTo-Json -Depth 2)" -ForegroundColor Cyan
} else {
Write-Host "✗ 注册失败: $($registerResponse.message)" -ForegroundColor Red
}
} else {
Write-Host "✗ 验证码发送失败: $($sendResponse.message)" -ForegroundColor Red
}
} catch {
Write-Host "✗ 请求失败: $($_.Exception.Message)" -ForegroundColor Red
if ($_.Exception.Response) {
$errorResponse = $_.Exception.Response.GetResponseStream()
$reader = New-Object System.IO.StreamReader($errorResponse)
$errorBody = $reader.ReadToEnd()
Write-Host "错误详情: $errorBody" -ForegroundColor Red
}
}
Write-Host "`n=== 测试完成 ===" -ForegroundColor Green