ajhahn.de
← eeco
Go 31 lines
package cockpit

import (
	"path/filepath"
	"testing"

	"github.com/ajhahnde/eeco/internal/config"
)

func TestMachineryFidelity(t *testing.T) {
	if enf, ok := MachineryFidelity("claude"); !ok || enf != EnforcementEnforced {
		t.Errorf("claude machinery fidelity = (%v, %v), want (enforced, true)", enf, ok)
	}
	for _, tgt := range []string{"cursor", "agents", "gemini"} {
		if enf, ok := MachineryFidelity(tgt); !ok || enf != EnforcementAdvisory {
			t.Errorf("%s machinery fidelity = (%v, %v), want (advisory, true)", tgt, enf, ok)
		}
	}
	if _, ok := MachineryFidelity("nope"); ok {
		t.Error("an unknown target should report ok=false")
	}
}

func TestSelectionPath(t *testing.T) {
	cfg := &config.Config{Workspace: filepath.Join("x", "tester", ".eeco")}
	want := filepath.Join("x", "tester", ".eeco", "cockpit.json")
	if got := SelectionPath(cfg); got != want {
		t.Errorf("SelectionPath = %q, want %q", got, want)
	}
}