Files
gonic/server/ctrlsubsonic/handlers_by_folder_test.go

49 lines
1.4 KiB
Go

package ctrlsubsonic
import (
"net/url"
"testing"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
func TestGetIndexes(t *testing.T) {
t.Parallel()
contr := makeControllerRoots(t, []string{"m-0", "m-1"})
runQueryCases(t, contr.ServeGetIndexes, []*queryCase{
{url.Values{}, "no_args", false},
{url.Values{"musicFolderId": {"0"}}, "with_music_folder_1", false},
{url.Values{"musicFolderId": {"1"}}, "with_music_folder_2", false},
})
}
func TestGetMusicDirectory(t *testing.T) {
t.Parallel()
contr := makeController(t)
runQueryCases(t, contr.ServeGetMusicDirectory, []*queryCase{
{url.Values{"id": {"al-2"}}, "without_tracks", false},
{url.Values{"id": {"al-3"}}, "with_tracks", false},
})
}
func TestGetAlbumList(t *testing.T) {
t.Parallel()
contr := makeController(t)
runQueryCases(t, contr.ServeGetAlbumList, []*queryCase{
{url.Values{"type": {"alphabeticalByArtist"}}, "alpha_artist", false},
{url.Values{"type": {"alphabeticalByName"}}, "alpha_name", false},
{url.Values{"type": {"newest"}}, "newest", false},
{url.Values{"type": {"random"}, "size": {"15"}}, "random", true},
})
}
func TestSearchTwo(t *testing.T) {
t.Parallel()
contr := makeController(t)
runQueryCases(t, contr.ServeSearchTwo, []*queryCase{
{url.Values{"query": {"art"}}, "q_art", false},
{url.Values{"query": {"alb"}}, "q_alb", false},
{url.Values{"query": {"tra"}}, "q_tra", false},
})
}