package search

import (
	"context"
	"tercul/internal/domain"
	domainsearch "tercul/internal/domain/search"

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

type MockWeaviateWrapper struct {
	mock.Mock
}

func (m *MockWeaviateWrapper) Search(ctx context.Context, params domainsearch.SearchParams) (*domainsearch.SearchResults, error) {
	args := m.Called(ctx, params)
	if args.Get(0) == nil {
		return nil, args.Error(1)
	}
	return args.Get(0).(*domainsearch.SearchResults), args.Error(1)
}

func (m *MockWeaviateWrapper) IndexWork(ctx context.Context, work *domain.Work, content string) error {
	args := m.Called(ctx, work, content)
	return args.Error(0)
}
