45 lines
1.7 KiB
Markdown
45 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
|