package kb

import (
	"context"
	"testing"
	"time"

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

func TestWorkerCandidateQueriesApplyWorkspaceScopeBeforeLimit(t *testing.T) {
	ctx := context.Background()
	store := newTestStore(t)
	now := time.Date(2026, 6, 1, 1, 0, 0, 0, time.UTC)
	require.NoError(t, store.db.Create(&[]SourceMirror{
		{SourceID: "src_foreign", WorkspaceID: "wsp_foreign", KnowledgeBaseID: "kb_foreign", Enabled: true, IntervalSeconds: 60, SyncStatus: SourceMirrorSyncStatusIdle, CreatedAt: now.Add(-time.Minute), UpdatedAt: now},
		{SourceID: "src_local", WorkspaceID: "wsp_local", KnowledgeBaseID: "kb_local", Enabled: true, IntervalSeconds: 60, SyncStatus: SourceMirrorSyncStatusIdle, CreatedAt: now, UpdatedAt: now},
	}).Error)

	mirrors, err := store.ListDueSourceMirrors(ctx, now, 1, []string{"wsp_local"})
	require.NoError(t, err)
	require.Len(t, mirrors, 1)
	require.Equal(t, "wsp_local", mirrors[0].WorkspaceID)

	mirrors, err = store.ListDueSourceMirrors(ctx, now, 1, []string{})
	require.NoError(t, err)
	require.Empty(t, mirrors)
}
