57 lines
1.7 KiB
Go
57 lines
1.7 KiB
Go
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])
|
|
}
|