package httpserver import ( "testing" "time" "github.com/tim/md-hub-secure/apps/server/internal/docs" ) func TestBuildBrowserUsesFolderIndex(t *testing.T) { browser := buildBrowser([]docs.DocumentRecord{ { Path: "guide/index.md", Title: "Guide", UpdatedAt: time.Now(), }, { Path: "guide/setup.md", Title: "Setup", UpdatedAt: time.Now(), }, }, "guide/index.md") if len(browser.Columns) != 2 { t.Fatalf("len(browser.Columns) = %d, want 2", len(browser.Columns)) } root := browser.Columns[0].Items if len(root) != 1 { t.Fatalf("len(root items) = %d, want 1", len(root)) } if !root[0].IsFolder || root[0].Name != "Guide" || root[0].URL != "/docs/guide" { t.Fatalf("root folder = %#v, want Guide folder linking to /docs/guide", root[0]) } child := browser.Columns[1].Items if len(child) != 1 { t.Fatalf("len(child items) = %d, want 1", len(child)) } if child[0].Path == "guide/index.md" { t.Fatalf("folder index file should be represented by the folder, not repeated as a child file") } }