test: Add search topic testing.

This commit is contained in:
Bo-Yi Wu 2018-07-24 11:15:54 +08:00
parent 3f4dc1a528
commit 2b66c85c28
3 changed files with 33 additions and 4 deletions

View File

@ -9,3 +9,7 @@
-
repo_id: 1
topic_id: 3
-
repo_id: 2
topic_id: 2

View File

@ -251,11 +251,11 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (RepositoryList, int64, err
}
if opts.Keyword != "" {
sess = sess.Select("repository.*")
sess = sess.GroupBy("repository.id")
sess = sess.OrderBy("repository." + opts.OrderBy.String())
sess.Select("repository.*")
sess.GroupBy("repository.id")
sess.OrderBy("repository." + opts.OrderBy.String())
} else {
sess = sess.OrderBy(opts.OrderBy.String())
sess.OrderBy(opts.OrderBy.String())
}
repos := make(RepositoryList, 0, opts.PageSize)

View File

@ -222,3 +222,28 @@ func TestSearchRepositoryByName(t *testing.T) {
})
}
}
func TestSearchRepositoryByTopicName(t *testing.T) {
assert.NoError(t, PrepareTestDatabase())
testCases := []struct {
name string
opts *SearchRepoOptions
count int
}{
{name: "AllPublic/SearchPublicRepositoriesFromTopic",
opts: &SearchRepoOptions{OwnerID: 2, AllPublic: true, Keyword: "golang"},
count: 1},
{name: "AllPublic/SearchPrivareRepositoriesFromTopic",
opts: &SearchRepoOptions{OwnerID: 2, AllPublic: true, Keyword: "database", Private: true},
count: 2},
}
for _, testCase := range testCases {
t.Run(testCase.name, func(t *testing.T) {
_, count, err := SearchRepositoryByName(testCase.opts)
assert.NoError(t, err)
assert.Equal(t, int64(testCase.count), count)
})
}
}