//go:build e2e

package helpers

import (
	"encoding/json"
	"testing"
	"time"
)

// MustReadUntilType is a testing.T wrapper for FakeServer.ReadUntilType.
func MustReadUntilType(t *testing.T, fs *FakeServer, msgType string, timeout time.Duration) json.RawMessage {
	t.Helper()
	msg, err := fs.ReadUntilType(msgType, timeout)
	if err != nil {
		t.Fatalf("MustReadUntilType(%q): %v", msgType, err)
	}
	return msg
}

// MustBuildAgentTeam is a testing.T wrapper for BuildAgentTeam.
func MustBuildAgentTeam(t *testing.T) string {
	t.Helper()
	bin, err := BuildAgentTeam()
	if err != nil {
		t.Fatalf("build agentteam: %v", err)
	}
	return bin
}

// MustRepoRoot is a testing.T wrapper for RepoRoot.
func MustRepoRoot(t *testing.T) string {
	t.Helper()
	root, err := RepoRoot()
	if err != nil {
		t.Fatalf("repo root: %v", err)
	}
	return root
}
