feat(v2): implement operator monitoring window
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package ui
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"silverpose/v2/internal/fall"
|
||||
"silverpose/v2/internal/source"
|
||||
)
|
||||
|
||||
func TestViewModelUsesCriticalOnlyForConfirmed(t *testing.T) {
|
||||
view := NewViewModel()
|
||||
view.Apply(fall.Normal, source.Connected)
|
||||
if view.Critical {
|
||||
t.Fatal("normal monitoring state is critical")
|
||||
}
|
||||
view.Apply(fall.Confirmed, source.Connected)
|
||||
if !view.Critical || !strings.Contains(view.StateText, "确认摔倒") {
|
||||
t.Fatalf("confirmed view = %#v", view)
|
||||
}
|
||||
view.Apply(fall.Normal, source.Retrying)
|
||||
if view.Critical || !strings.Contains(view.ConnectionText, "重连") {
|
||||
t.Fatalf("retrying view = %#v", view)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSettingsNeverExposeResolvedRTSPURL(t *testing.T) {
|
||||
view := NewViewModel()
|
||||
view.SetSourceReady("SILVER_POSE_RTSP_URL", true)
|
||||
if strings.Contains(view.SettingsSummary, "rtsp://") || strings.Contains(view.SettingsSummary, "secret") {
|
||||
t.Fatalf("settings leaked source: %q", view.SettingsSummary)
|
||||
}
|
||||
if !strings.Contains(view.SettingsSummary, "SILVER_POSE_RTSP_URL") {
|
||||
t.Fatalf("settings omitted source environment name: %q", view.SettingsSummary)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user