93 lines
3.6 KiB
PowerShell
93 lines
3.6 KiB
PowerShell
# Verify user field fix
|
|
# This script tests the login flow and verifies user.id is correctly set
|
|
|
|
$baseUrl = "http://localhost:5000"
|
|
$loginUrl = "$baseUrl/api/auth/login"
|
|
|
|
# Login payload
|
|
$loginPayload = @{
|
|
email = "admin@test.com"
|
|
password = "Test@123456"
|
|
tenantSlug = "testcompany"
|
|
} | ConvertTo-Json
|
|
|
|
Write-Host "=== Testing Login Flow ===" -ForegroundColor Cyan
|
|
Write-Host "Login URL: $loginUrl" -ForegroundColor Gray
|
|
Write-Host "Payload: $loginPayload" -ForegroundColor Gray
|
|
Write-Host ""
|
|
|
|
try {
|
|
# Login
|
|
$response = Invoke-RestMethod -Uri $loginUrl -Method Post -Body $loginPayload -ContentType "application/json"
|
|
|
|
Write-Host "✓ Login successful!" -ForegroundColor Green
|
|
Write-Host ""
|
|
|
|
# Display user object
|
|
Write-Host "=== User Object from Backend ===" -ForegroundColor Cyan
|
|
Write-Host "User ID: $($response.user.id)" -ForegroundColor Yellow
|
|
Write-Host "Email: $($response.user.email)" -ForegroundColor Gray
|
|
Write-Host "Full Name: $($response.user.fullName)" -ForegroundColor Gray
|
|
Write-Host "Tenant ID: $($response.user.tenantId)" -ForegroundColor Gray
|
|
Write-Host ""
|
|
|
|
# Check if ID exists
|
|
if ($response.user.id) {
|
|
Write-Host "✓ User ID field exists (camelCase)!" -ForegroundColor Green
|
|
Write-Host " Field name: id" -ForegroundColor Gray
|
|
Write-Host " Value: $($response.user.id)" -ForegroundColor Gray
|
|
} elseif ($response.user.Id) {
|
|
Write-Host "✓ User ID field exists (PascalCase)!" -ForegroundColor Green
|
|
Write-Host " Field name: Id" -ForegroundColor Gray
|
|
Write-Host " Value: $($response.user.Id)" -ForegroundColor Gray
|
|
} else {
|
|
Write-Host "✗ User ID field missing!" -ForegroundColor Red
|
|
}
|
|
Write-Host ""
|
|
|
|
# Test /me endpoint
|
|
Write-Host "=== Testing /me Endpoint ===" -ForegroundColor Cyan
|
|
$token = $response.accessToken
|
|
$headers = @{
|
|
Authorization = "Bearer $token"
|
|
}
|
|
|
|
$meResponse = Invoke-RestMethod -Uri "$baseUrl/api/auth/me" -Method Get -Headers $headers
|
|
|
|
Write-Host "✓ /me endpoint successful!" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "=== User Object from /me ===" -ForegroundColor Cyan
|
|
Write-Host "User ID field: $($meResponse.userId)" -ForegroundColor Yellow
|
|
Write-Host "Email: $($meResponse.email)" -ForegroundColor Gray
|
|
Write-Host "Full Name: $($meResponse.fullName)" -ForegroundColor Gray
|
|
Write-Host "Tenant ID: $($meResponse.tenantId)" -ForegroundColor Gray
|
|
Write-Host "Tenant Slug: $($meResponse.tenantSlug)" -ForegroundColor Gray
|
|
Write-Host "Tenant Role: $($meResponse.tenantRole)" -ForegroundColor Gray
|
|
Write-Host ""
|
|
|
|
if ($meResponse.userId) {
|
|
Write-Host "✓ userId field exists in /me response!" -ForegroundColor Green
|
|
} else {
|
|
Write-Host "✗ userId field missing in /me response!" -ForegroundColor Red
|
|
}
|
|
Write-Host ""
|
|
|
|
Write-Host "=== Field Mapping Required ===" -ForegroundColor Cyan
|
|
Write-Host "Login response:" -ForegroundColor Gray
|
|
if ($response.user.id) {
|
|
Write-Host " - user.id -> frontend user.id" -ForegroundColor Gray
|
|
} else {
|
|
Write-Host " - user.Id -> frontend user.id" -ForegroundColor Gray
|
|
}
|
|
Write-Host "/me response:" -ForegroundColor Gray
|
|
Write-Host " - userId -> frontend user.id" -ForegroundColor Gray
|
|
Write-Host " - tenantSlug -> frontend user.tenantName" -ForegroundColor Gray
|
|
Write-Host ""
|
|
|
|
Write-Host "=== Verification Complete ===" -ForegroundColor Green
|
|
|
|
} catch {
|
|
Write-Host "✗ Error: $($_.Exception.Message)" -ForegroundColor Red
|
|
Write-Host "Details: $($_.ErrorDetails.Message)" -ForegroundColor Red
|
|
}
|