Files
kandev/apps/backend/internal/common/config/config_test.go
T

60 lines
1.6 KiB
Go

package config
import (
"os"
"path/filepath"
"testing"
)
func TestResolvedHomeDir_Default(t *testing.T) {
cfg := &Config{}
home, err := os.UserHomeDir()
if err != nil {
t.Skip("cannot determine home directory")
}
want := filepath.Join(home, ".kandev")
if got := cfg.ResolvedHomeDir(); got != want {
t.Errorf("ResolvedHomeDir() = %q, want %q", got, want)
}
}
func TestResolvedHomeDir_WithHomeDir(t *testing.T) {
cfg := &Config{HomeDir: "/custom/kandev"}
if got := cfg.ResolvedHomeDir(); got != "/custom/kandev" {
t.Errorf("ResolvedHomeDir() = %q, want %q", got, "/custom/kandev")
}
}
func TestResolvedHomeDir_TildeExpansion(t *testing.T) {
home, err := os.UserHomeDir()
if err != nil {
t.Skip("cannot determine home directory")
}
cfg := &Config{HomeDir: "~/.kandev-dev"}
want := filepath.Join(home, ".kandev-dev")
if got := cfg.ResolvedHomeDir(); got != want {
t.Errorf("ResolvedHomeDir() = %q, want %q", got, want)
}
}
func TestResolvedDataDir_Default(t *testing.T) {
cfg := &Config{}
home, err := os.UserHomeDir()
if err != nil {
t.Skip("cannot determine home directory")
}
want := filepath.Join(home, ".kandev", "data")
if got := cfg.ResolvedDataDir(); got != want {
t.Errorf("ResolvedDataDir() = %q, want %q", got, want)
}
}
func TestResolvedDataDir_DerivedFromHomeDir(t *testing.T) {
// Data always lives under <HomeDir>/data. No independent override.
cfg := &Config{HomeDir: "/custom/kandev"}
want := filepath.Join("/custom/kandev", "data")
if got := cfg.ResolvedDataDir(); got != want {
t.Errorf("ResolvedDataDir() = %q, want %q", got, want)
}
}