package tools

import (
	"context"
	"testing"

	"git.warky.dev/wdevs/amcs/internal/buildinfo"
)

func TestVersionToolReturnsBuildInformation(t *testing.T) {
	tool := NewVersionTool("amcs", buildinfo.Info{
		Version:   "v1.2.3",
		TagName:   "v1.2.3",
		Commit:    "abc1234",
		BuildDate: "2026-03-31T12:34:56Z",
	})

	_, out, err := tool.GetInfo(context.Background(), nil, GetVersionInfoInput{})
	if err != nil {
		t.Fatalf("GetInfo() error = %v", err)
	}

	if out.ServerName != "amcs" {
		t.Fatalf("server_name = %q, want %q", out.ServerName, "amcs")
	}
	if out.Version != "v1.2.3" {
		t.Fatalf("version = %q, want %q", out.Version, "v1.2.3")
	}
	if out.TagName != "v1.2.3" {
		t.Fatalf("tag_name = %q, want %q", out.TagName, "v1.2.3")
	}
	if out.Commit != "abc1234" {
		t.Fatalf("commit = %q, want %q", out.Commit, "abc1234")
	}
	if out.BuildDate != "2026-03-31T12:34:56Z" {
		t.Fatalf("build_date = %q, want %q", out.BuildDate, "2026-03-31T12:34:56Z")
	}
}
