Files
silo-server/internal/sections/generated_test.go
T

78 lines
2.3 KiB
Go

package sections
import (
"testing"
)
func TestParseGeneratedHomeLibraryRecentConfig(t *testing.T) {
libraryID, ok := ParseGeneratedHomeLibraryRecentConfig(GeneratedHomeLibraryRecentConfig(42))
if !ok {
t.Fatalf("expected config to parse")
}
if libraryID != 42 {
t.Fatalf("library id = %d, want 42", libraryID)
}
}
func TestParseGeneratedHomeLibraryRecentEpisodesConfig(t *testing.T) {
libraryID, ok := ParseGeneratedHomeLibraryRecentConfig(GeneratedHomeLibraryRecentEpisodesConfig(42))
if !ok {
t.Fatalf("expected config to parse")
}
if libraryID != 42 {
t.Fatalf("library id = %d, want 42", libraryID)
}
def, err := ParseQueryDefinition(GeneratedHomeLibraryRecentEpisodesConfig(42))
if err != nil {
t.Fatalf("ParseQueryDefinition() error = %v", err)
}
if def.MediaScope != "episode" {
t.Fatalf("media_scope = %q, want episode", def.MediaScope)
}
if def.Sort.Field != "release_date" || def.Sort.Order != "desc" {
t.Fatalf("sort = %#v, want release_date desc", def.Sort)
}
if len(def.LibraryIDs) != 1 || def.LibraryIDs[0] != 42 {
t.Fatalf("library_ids = %v, want [42]", def.LibraryIDs)
}
}
func TestShouldSyncGeneratedHomeLibraryRecentTitle(t *testing.T) {
section := &PageSection{
Scope: "home",
SectionType: SectionRecentlyAdded,
Title: "Recently Added in Movies",
Config: GeneratedHomeLibraryRecentConfig(3),
}
if !ShouldSyncGeneratedHomeLibraryRecentTitle(section, "Movies") {
t.Fatalf("expected generated title to sync")
}
section.Title = "Staff Picks"
if ShouldSyncGeneratedHomeLibraryRecentTitle(section, "Movies") {
t.Fatalf("did not expect custom title to sync")
}
}
func TestShouldSyncGeneratedHomeLibraryRecentEpisodesTitle(t *testing.T) {
section := &PageSection{
Scope: "home",
SectionType: SectionCustomFilter,
Title: "Recently Released Episodes in Shows",
Config: GeneratedHomeLibraryRecentEpisodesConfig(3),
}
if !ShouldSyncGeneratedHomeLibraryRecentTitle(section, "Shows") {
t.Fatalf("expected generated episode title to sync")
}
if got := GeneratedHomeLibraryRecentSyncedTitle(section, "TV"); got != "Recently Released Episodes in TV" {
t.Fatalf("synced title = %q, want %q", got, "Recently Released Episodes in TV")
}
section.Title = "Staff Picks"
if ShouldSyncGeneratedHomeLibraryRecentTitle(section, "Shows") {
t.Fatalf("did not expect custom title to sync")
}
}