Files
beads/cmd/bd/reset_test.go
Steve Yegge 0aea2d93c6 feat(schema): add messaging fields for bd-kwro epic
- Add TypeMessage issue type for inter-agent communication
- Add 6 new Issue fields: Sender, Ephemeral, RepliesTo, RelatesTo,
  DuplicateOf, SupersededBy
- Add 4 new dependency types: replies-to, relates-to, duplicates, supersedes
- Create migration 019_messaging_fields with indexes
- Update all CRUD operations across storage layer
- Fix reset_test.go to use correct function names
- Fix redundant newline lint error in sync.go

Closes: bd-kwro.1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 13:06:47 -08:00

74 lines
1.9 KiB
Go

package main
import (
"os"
"strings"
"testing"
)
func TestRemoveGitattributesEntry(t *testing.T) {
// Save and restore working directory
origDir, err := os.Getwd()
if err != nil {
t.Fatalf("failed to get working directory: %v", err)
}
t.Run("removes beads entry", func(t *testing.T) {
tmpDir := t.TempDir()
if err := os.Chdir(tmpDir); err != nil {
t.Fatalf("failed to change to temp dir: %v", err)
}
defer func() { _ = os.Chdir(origDir) }()
content := `*.png binary
# Use bd merge for beads JSONL files
.beads/issues.jsonl merge=beads
*.jpg binary
`
if err := os.WriteFile(".gitattributes", []byte(content), 0644); err != nil {
t.Fatalf("failed to write test file: %v", err)
}
if err := removeGitattributesEntry(); err != nil {
t.Fatalf("removeGitattributesEntry failed: %v", err)
}
result, err := os.ReadFile(".gitattributes")
if err != nil {
t.Fatalf("failed to read result: %v", err)
}
if strings.Contains(string(result), "merge=beads") {
t.Error("beads merge entry should have been removed")
}
if !strings.Contains(string(result), "*.png binary") {
t.Error("other entries should be preserved")
}
if !strings.Contains(string(result), "*.jpg binary") {
t.Error("other entries should be preserved")
}
})
t.Run("removes file if only beads entry", func(t *testing.T) {
tmpDir := t.TempDir()
if err := os.Chdir(tmpDir); err != nil {
t.Fatalf("failed to change to temp dir: %v", err)
}
defer func() { _ = os.Chdir(origDir) }()
content := `.beads/issues.jsonl merge=beads
`
if err := os.WriteFile(".gitattributes", []byte(content), 0644); err != nil {
t.Fatalf("failed to write test file: %v", err)
}
if err := removeGitattributesEntry(); err != nil {
t.Fatalf("removeGitattributesEntry failed: %v", err)
}
if _, err := os.Stat(".gitattributes"); !os.IsNotExist(err) {
t.Error("file should have been deleted when only beads entries present")
}
})
}