package main import ( "strings" "testing" ) func TestCreatorConsoleResponsiveGuardrails(t *testing.T) { html, err := staticFiles.ReadFile("static/index.html") if err != nil { t.Fatal(err) } if !strings.Contains(string(html), ``) { t.Fatal("creator console is missing responsive viewport metadata") } css, err := staticFiles.ReadFile("static/assets/console.css") if err != nil { t.Fatal(err) } stylesheet := string(css) for _, guard := range []string{ "@media (max-width: 680px)", ".console { display: block; }", ".diagnostic-list { grid-template-columns: 1fr; }", ".agent-details { grid-template-columns: 1fr; gap: 14px; }", ".fleet-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }", ".section-nav { display: flex;", "overflow-x: auto", } { if !strings.Contains(stylesheet, guard) { t.Fatalf("responsive guardrail missing: %s", guard) } } } func TestChatResponsiveGuardrailsConstrainMobileGridItem(t *testing.T) { css, err := staticFiles.ReadFile("static/assets/chat.css") if err != nil { t.Fatal(err) } stylesheet := string(css) for _, guard := range []string{ ".chat-view { width: 100%; min-width: 0;", "@media (max-width: 640px)", ".chat-layout { height: auto; display: block; }", ".chat-header > .operator-link, .build-meta { display: none; }", ".chat-header .cognitive-console-link { flex: 0 1 110px;", } { if !strings.Contains(stylesheet, guard) { t.Fatalf("chat responsive guardrail missing: %s", guard) } } }