@@ -17,8 +17,8 @@ import {
1717 init ,
1818} from "../src/modules/PanelRegistry.res.js" ;
1919
20- Deno . test ( "allPanels has 81 entries" , ( ) => {
21- assertEquals ( allPanels . length , 81 ) ;
20+ Deno . test ( "allPanels has 88 entries" , ( ) => {
21+ assertEquals ( allPanels . length , 88 ) ;
2222} ) ;
2323
2424Deno . test ( "every panel has required fields" , ( ) => {
@@ -97,3 +97,29 @@ Deno.test("BoJ panel metadata is correct", () => {
9797 assertEquals ( boj . hasBackend , true ) ;
9898 assertEquals ( boj . cladeId , "boj" ) ;
9999} ) ;
100+
101+ // ════════════════════════════════════════════════════════════════════════
102+ // Game Server Admin panel tests
103+ // ════════════════════════════════════════════════════════════════════════
104+
105+ Deno . test ( "GSA Server Browser panel exists" , ( ) => {
106+ const panel = findPanel ( "PanelGsaServerBrowser" ) ;
107+ assertExists ( panel ) ;
108+ assertEquals ( panel . shortName , "Servers" ) ;
109+ assertEquals ( panel . icon , "radar" ) ;
110+ assertEquals ( panel . hasBackend , true ) ;
111+ assertEquals ( panel . cladeId , "gsa-browser" ) ;
112+ } ) ;
113+
114+ Deno . test ( "GSA has 7 panels in gsa-* clades" , ( ) => {
115+ const gsaPanels = allPanels . filter (
116+ ( p ) => p . cladeId && p . cladeId . startsWith ( "gsa-" ) ,
117+ ) ;
118+ assertEquals ( gsaPanels . length , 7 ) ;
119+ } ) ;
120+
121+ Deno . test ( "panelsInClade returns GSA config editor" , ( ) => {
122+ const panels = panelsInClade ( "gsa-config" ) ;
123+ assertEquals ( panels . length , 1 ) ;
124+ assertEquals ( panels [ 0 ] . id , "PanelGsaConfigEditor" ) ;
125+ } ) ;
0 commit comments