package main

import (
	"os/user"
	"path/filepath"
	"testing"
)

func TestResolveRoot(t *testing.T) {
	current, err := user.Current()
	if err != nil {
		t.Fatal(err)
	}

	t.Run("nested root", func(t *testing.T) {
		resolved, cloneRoot, err := resolveRoot(current.Username, "repos/nested")
		if err != nil {
			t.Fatal(err)
		}
		if resolved != filepath.Join(current.HomeDir, "repos", "nested") {
			t.Fatalf("got resolved root %q", resolved)
		}
		if cloneRoot != "repos/nested" {
			t.Fatalf("got clone root %q", cloneRoot)
		}
	})

	t.Run("empty root uses home", func(t *testing.T) {
		resolved, cloneRoot, err := resolveRoot(current.Username, "")
		if err != nil {
			t.Fatal(err)
		}
		if resolved != current.HomeDir {
			t.Fatalf("got resolved root %q", resolved)
		}
		if cloneRoot != "" {
			t.Fatalf("got clone root %q", cloneRoot)
		}
	})
}