package filesystem import ( "os" "path/filepath" "testing" ) func TestFindMP3Files(t *testing.T) { d := t.TempDir() files := []string{"a.mp3", "B.MP3", "c.txt"} for _, f := range files { if err := os.WriteFile(filepath.Join(d, f), []byte("x"), 0644); err != nil { t.Fatal(err) } } repo := NewRepository() got, err := repo.findMP3Files(d) if err != nil { t.Fatal(err) } if len(got) != 2 { t.Fatalf("ожидалось 2, получено %d", len(got)) } } func TestRenameAndOrganize(t *testing.T) { d := t.TempDir() book := filepath.Join(d, "Old") if err := os.MkdirAll(book, 0755); err != nil { t.Fatal(err) } repo := NewRepository() newPath, err := repo.RenameBookFolder(book, "Автор - Книга :: RuTracker.org") if err != nil { t.Fatal(err) } if filepath.Base(newPath) != "Автор - Книга" { t.Fatalf("имя папки: %s", filepath.Base(newPath)) } organized := filepath.Join(d, "organized") if err := os.MkdirAll(organized, 0755); err != nil { t.Fatal(err) } moved, err := repo.OrganizeBookFolder(newPath, "Автор Фамилия", organized) if err != nil { t.Fatal(err) } if _, err := os.Stat(moved); err != nil { t.Fatalf("папка не перемещена: %v", err) } }