After completing all deployment steps, perform the following smoke tests to verify the entire system is working correctly.
| # | Test | Expected Result |
|---|---|---|
| 1 | Access Frontend URL (Amplify) | Login page renders correctly |
| 2 | Register a new account | Receive OTP email; account created successfully |
| 3 | Log in with credentials | Access Dashboard |
| 4 | Upload an invoice image/PDF | Status changes from Processing → Draft |
| 5 | View invoice details | Key fields (Tax ID, Date, Amount) are filled correctly |
| 6 | Check RiskLevel | Risk warning badge appears (if applicable) |
Draft invoice, click Merge / Confirm.Confirmed or Merged.You can also verify the backend directly via CloudFront:
curl https://<CLOUDFRONT_DOMAIN>/api/health
# Expected: {"status":"Healthy"}
And the OCR internal health check (via ECS Exec or test from Backend):
curl http://<ALB_OCR_DNS>/api/v1/health
# Expected: {"status":"ok"}
| Issue | Likely Cause | Solution |
|---|---|---|
Invoice stuck in Processing | OCR ECS tasks not running | Check ECS service → Tasks; check CloudWatch logs |
| 502 Bad Gateway from CloudFront | Backend EB environment unhealthy | Check EB environment health page |
| Login fails | Cognito configuration mismatch | Verify COGNITO_CLIENT_ID and COGNITO_CLIENT_SECRET in SSM |
| Invoice data empty after OCR | Model path issue or missing env vars | Check /ecs/smartinvoice-ocr-task logs in CloudWatch |