package main import ( "testing" "github.com/gochat/gochat/internal/config" "github.com/gochat/gochat/internal/search" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestValidateSearchEngineForReindex_Meilisearch(t *testing.T) { err := validateSearchEngineForReindex(config.SearchConfig{Engine: "meilisearch"}) require.NoError(t, err) } func TestValidateSearchEngineForReindex_DB(t *testing.T) { err := validateSearchEngineForReindex(config.SearchConfig{Engine: "db"}) require.Error(t, err) } func TestValidateSearchEngineForReindex_Empty(t *testing.T) { err := validateSearchEngineForReindex(config.SearchConfig{Engine: ""}) require.Error(t, err) } func TestValidateSearchEngineForReindex_CaseInsensitive(t *testing.T) { err := validateSearchEngineForReindex(config.SearchConfig{Engine: " MeiliSearch "}) require.NoError(t, err) } func TestParseTypes_All(t *testing.T) { result := parseTypes("all") assert.True(t, result[search.ResultTypeConversation]) assert.True(t, result[search.ResultTypeMessage]) assert.True(t, result[search.ResultTypeContact]) } func TestParseTypes_Specific(t *testing.T) { result := parseTypes("conversation,message") assert.True(t, result[search.ResultTypeConversation]) assert.True(t, result[search.ResultTypeMessage]) assert.False(t, result[search.ResultTypeContact]) } func TestParseTypes_Empty(t *testing.T) { result := parseTypes("") assert.True(t, result[search.ResultTypeConversation]) assert.True(t, result[search.ResultTypeMessage]) } func TestParseTypes_WithSpaces(t *testing.T) { result := parseTypes(" conversation , message ") assert.True(t, result[search.ResultTypeConversation]) assert.True(t, result[search.ResultTypeMessage]) }