// Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestFieldMonitorDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/field_monitor?displayId=1&reversed=false") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Field Monitor - Untitled Event - Cheesy Arena") } func TestFieldMonitorDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/field_monitor/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, "arenaStatus") readWebsocketType(t, ws, "displayConfiguration") }