Git Repository

Stackyard

Stackyard scannt lokale Entwicklungsordner und bündelt Projekte, Git-Status, TODOs, Toolchains, Docker-Compose-Setups, Datei- und Launcher-Funktionen sowie Operations-Informationen in einer lokalen WebUI.

Projektseite ↗
HTTPShttps://zanvex.de/git/stackyard.git

internal/project/model_test.go

Zum Verzeichnis
package project

import "testing"

func TestProjectDerivedSignals(t *testing.T) {
	p := Project{
		Markers:    []string{".mise.toml", "docker-compose.yml"},
		ReadmePath: "/tmp/README.md",
		TodoPath:   "/tmp/.stackyard/todo.md",
		Git: GitInfo{
			IsRepo: true,
		},
	}

	if !p.HasMise() {
		t.Fatal("expected mise marker")
	}
	if !p.HasDockerCompose() {
		t.Fatal("expected docker compose marker")
	}
	if p.Health() != HealthGood {
		t.Fatalf("expected good health, got %s", p.Health())
	}
}

func TestProjectWarningsAndHealth(t *testing.T) {
	p := Project{
		Git: GitInfo{
			IsRepo: true,
			Dirty:  true,
		},
	}

	if p.Health() != HealthWarning {
		t.Fatalf("expected warning health, got %s", p.Health())
	}
	if len(p.Warnings()) != 3 {
		t.Fatalf("expected 3 warnings, got %#v", p.Warnings())
	}
}