veza/docs/SMOKE_TEST_V0502.md
senke 40883aebea docs(v0.502): Sprint 6 -- finalization, docs, and tag
- Update PROJECT_STATE.md: v0.502 delivered, next version v0.503
- Update CHANGELOG.md: comprehensive v0.502 entry (Added/Changed/Removed/Infrastructure)
- Create SMOKE_TEST_V0502.md: validation checklist for chat rewrite
- Create RETROSPECTIVE_V0502.md: retrospective with metrics and action items
- Archive V0_502_RELEASE_SCOPE.md to docs/archive/
- Create V0_503_RELEASE_SCOPE.md placeholder
- Update SCOPE_CONTROL.md and .cursorrules to reference v0.503
2026-02-22 20:51:55 +01:00

44 lines
1.7 KiB
Markdown

# Smoke Test — v0.502 Chat Server Rewrite
## Pre-requisites
- [ ] `go build ./...` passes in veza-backend-api
- [ ] `go test ./internal/websocket/chat/... -v` passes (15 tests)
- [ ] Frontend builds without new errors (`npx tsc --noEmit`)
## Backend Chat WebSocket
- [ ] Backend starts without errors (`go run ./cmd/server`)
- [ ] POST `/api/v1/chat/token` returns `{token, ws_url: "/api/v1/ws", expires_in}`
- [ ] WebSocket connects at `ws://localhost:8080/api/v1/ws?token=<jwt>`
- [ ] Receives `{"type":"ActionConfirmed","action":"connected","success":true}` on connect
- [ ] Sending `{"type":"Ping"}` returns `{"type":"Pong"}`
- [ ] Missing/invalid token returns 401
## Message Flow
- [ ] JoinConversation -> ActionConfirmed
- [ ] SendMessage -> ActionConfirmed + NewMessage broadcast
- [ ] EditMessage -> ActionConfirmed + MessageEdited broadcast
- [ ] DeleteMessage -> ActionConfirmed + MessageDeleted broadcast
- [ ] FetchHistory -> HistoryChunk with messages array
## Real-time Features
- [ ] Typing -> UserTyping broadcast to other room members
- [ ] MarkAsRead -> ActionConfirmed + MessageRead broadcast
- [ ] Delivered -> ActionConfirmed + MessageDelivered broadcast
- [ ] AddReaction -> ActionConfirmed + ReactionAdded broadcast
- [ ] RemoveReaction -> ActionConfirmed + ReactionRemoved broadcast
## Call Signaling
- [ ] CallOffer relayed to target user
- [ ] CallAnswer relayed to caller
- [ ] ICECandidate relayed to target
- [ ] CallHangup relayed to target
- [ ] CallReject relayed to caller
## Docker
- [ ] `docker-compose up` starts without chat-server service
- [ ] Backend still starts and serves WS endpoint
## Frontend
- [ ] Chat connects to `/api/v1/ws` instead of old port 8081
- [ ] Messages sent and received correctly
- [ ] Typing indicators work