MCPcopy Create free account
hub / github.com/MiniCodeMonkey/chief / TestRefreshMixedDirectories

Function TestRefreshMixedDirectories

internal/tui/picker_test.go:924–959  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

922}
923
924func TestRefreshMixedDirectories(t *testing.T) {
925 tmpDir := t.TempDir()
926 prdsDir := filepath.Join(tmpDir, ".chief", "prds")
927
928 // Empty directory (should be filtered)
929 if err := os.MkdirAll(filepath.Join(prdsDir, "empty"), 0755); err != nil {
930 t.Fatalf("Failed to create dir: %v", err)
931 }
932
933 // Directory with prd.md (should be shown)
934 validDir := filepath.Join(prdsDir, "valid")
935 if err := os.MkdirAll(validDir, 0755); err != nil {
936 t.Fatalf("Failed to create dir: %v", err)
937 }
938 if err := os.WriteFile(filepath.Join(validDir, "prd.md"), []byte("# PRD"), 0644); err != nil {
939 t.Fatalf("Failed to create prd.md: %v", err)
940 }
941
942 // Another empty directory (should be filtered)
943 if err := os.MkdirAll(filepath.Join(prdsDir, "also-empty"), 0755); err != nil {
944 t.Fatalf("Failed to create dir: %v", err)
945 }
946
947 p := &PRDPicker{
948 basePath: tmpDir,
949 entries: make([]PRDEntry, 0),
950 }
951 p.Refresh()
952
953 if len(p.entries) != 1 {
954 t.Errorf("expected 1 entry (filtering 2 empty dirs), got %d", len(p.entries))
955 }
956 if len(p.entries) > 0 && p.entries[0].Name != "valid" {
957 t.Errorf("expected entry name 'valid', got %q", p.entries[0].Name)
958 }
959}
960
961// containsText checks if rendered output contains a substring (ignoring ANSI codes).
962func containsText(rendered, substr string) bool {

Callers

nothing calls this directly

Calls 1

RefreshMethod · 0.95

Tested by

no test coverage detected