// Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena-lite/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestQueueingDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/queueing?displayId=1") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Queueing Display - Untitled Event - Cheesy Arena") } func TestQueueingDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/queueing/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "eventStatus") }