Albirew/nyaa-pantsu
Albirew
/
nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/utils/search/tags_test.go

55 lignes
1.4 KiB
Go

package search
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestTags_Parse(t *testing.T) {
assert := assert.New(t)
tags := Tags{}
ok := tags.Parse("")
assert.Empty(tags)
assert.False(ok)
tags = Tags{}
ok = tags.Parse("dd")
assert.Equal(Tags{"dd"}, tags)
assert.True(ok)
tags = Tags{}
ok = tags.Parse("dd,,,,")
assert.Equal(Tags{"dd"}, tags, "Should remove empty tags")
assert.True(ok)
tags = Tags{}
ok = tags.Parse("dd,,ff,,ss")
assert.Equal(Tags{"dd", "ff", "ss"}, tags, "Should remove empty tags and keep the other")
assert.True(ok)
}
func TestTags_ToDBQuery(t *testing.T) {
tags := Tags{"dd", "ff"}
assert := assert.New(t)
search, args := tags.ToDBQuery()
assert.Equal("tags = ? AND tags = ?", search, "Should be equal")
assert.Equal([]string{"dd", "ff"}, args, "Should be equal")
tags = Tags{"dd"}
search, args = tags.ToDBQuery()
assert.Equal("tags = ?", search, "Should be equal to 'tags = ?'")
assert.Equal([]string{"dd"}, args, "Should be equal to '3_13'")
tags = Tags{}
search, args = tags.ToDBQuery()
assert.Empty(search, "Should be empty")
assert.Empty(args, "Should be empty")
}
func TestTags_ToESQuery(t *testing.T) {
tags := Tags{"dd", "ff"}
assert := assert.New(t)
assert.Equal("tags:dd tags:ff", tags.ToESQuery(), "Should be equal")
tags = Tags{"dd"}
assert.Equal("tags:dd", tags.ToESQuery(), "Should be equal")
tags = Tags{}
assert.Empty(tags.ToESQuery(), "Should be empty")
}