package taskboard

import (
	"testing"

	"github.com/stretchr/testify/require"
)

func TestBuildTaskMemberOptionsQueryAppliesRoleSearchAndCursor(t *testing.T) {
	t.Parallel()

	query, err := buildTaskMemberOptionsQuery(" wsp_1 ", " chn_1 ", " mem_1 ", taskMemberLookup{
		Role:   "agent",
		Query:  "@Alpha",
		Limit:  3,
		Cursor: "6",
	})

	require.NoError(t, err)
	require.Equal(t, []any{"chn_1", "wsp_1", "mem_1", "%alpha%", 4, 6}, query.args)
	require.Equal(t, 3, query.limit)
	require.Equal(t, 6, query.offset)
	require.Contains(t, query.sql, "m.type = 'agent'")
	require.Contains(t, query.sql, "LIKE $4")
	require.Contains(t, query.sql, "LIMIT $5 OFFSET $6")
}
