fix(multiplayer): project accepted queue state

This commit is contained in:
Josh Creek
2026-09-01 21:54:10 +01:00
parent fa2c93ec06
commit 6ac2d0fbb1
5 changed files with 20 additions and 2 deletions
@@ -46,6 +46,9 @@ func test_ticket_normalization_derives_authoritative_enqueue_time() -> void:
func test_websocket_event_validation_requires_contract_specific_fields() -> void:
var envelope := {"event": "state_changed", "revision": 1, "resource_id": "ticket-1", "occurred_at": "2026-08-31T12:00:00Z", "state": "QUEUED"}
assert_true(ControlPlaneClient._valid_websocket_event(envelope), "valid state event is accepted")
var accepted := envelope.duplicate()
accepted["state"] = "ACCEPTED"
assert_true(ControlPlaneClient._valid_websocket_event(accepted), "authoritative accepted queue event is accepted")
var bad_state := envelope.duplicate()
bad_state["state"] = "SECRET"
assert_true(not ControlPlaneClient._valid_websocket_event(bad_state), "unknown state event is rejected")