package api

import (
	"context"
	"testing"

	"github.com/stretchr/testify/require"

	"github.com/tidbcloud/AgentTeam/desktop/internal/agent"
	"github.com/tidbcloud/AgentTeam/desktop/internal/profile"
)

func TestExecAgentReaderProjectsProfileAgents(t *testing.T) {
	t.Setenv(profile.ConfigDirEnvKey, t.TempDir())
	require.NoError(t, profile.Default().Agents().Add(agent.Config{
		ID: "agent-alpha", Name: "Alpha", Runtime: "builtin",
	}))
	reader := execAgentReader{sessions: routerTestSessionStore{}}

	items, err := reader.ListAgents(context.Background())
	require.NoError(t, err)
	require.Len(t, items, 1)
	require.Equal(t, "agent-alpha", items[0].ID)

	item, ok, err := reader.GetAgent(context.Background(), " agent-alpha ")
	require.NoError(t, err)
	require.True(t, ok)
	require.Equal(t, "Alpha", item.Name)

	_, ok, err = reader.GetAgent(context.Background(), "missing")
	require.NoError(t, err)
	require.False(t, ok)
}
