Files
memby/server/internal/store/metadata_hero_test.go
T

50 lines
2.0 KiB
Go
Raw Normal View History

2026-08-22 08:26:10 +12:00
package store
import (
"reflect"
"testing"
)
func TestNormalizeMetadataHeroSettingsKeepsAnOrderedSubset(t *testing.T) {
got := NormalizeMetadataHeroSettings(MetadataHeroSettings{
ContentOrder: []string{"summary", "unknown", "title", "summary"},
}).ContentOrder
want := []string{"summary", "title"}
if !reflect.DeepEqual(got, want) {
t.Fatalf("content order = %v, want %v", got, want)
}
}
func TestNormalizeMetadataHeroSettingsRestoresTheDefault(t *testing.T) {
got := NormalizeMetadataHeroSettings(MetadataHeroSettings{}).ContentOrder
if !reflect.DeepEqual(got, DefaultMetadataHeroContentOrder) {
t.Fatalf("content order = %v, want %v", got, DefaultMetadataHeroContentOrder)
}
got[0] = "changed"
if DefaultMetadataHeroContentOrder[0] != MetadataHeroTitle {
t.Fatal("normalising an empty document returned the shared default slice")
}
}
func TestNormalizeMetadataHeroSettingsAcceptsOptionalContent(t *testing.T) {
got := NormalizeMetadataHeroSettings(MetadataHeroSettings{
ContentOrder: []string{MetadataHeroTitle, MetadataHeroReason, MetadataHeroTime},
}).ContentOrder
want := []string{MetadataHeroTitle, MetadataHeroReason, MetadataHeroTime}
if !reflect.DeepEqual(got, want) {
t.Fatalf("content order = %v, want %v", got, want)
}
}
2026-08-22 11:32:50 +12:00
func TestNormalizeMetadataHeroSettingsNormalisesTimeRemainingColour(t *testing.T) {
if got := NormalizeMetadataHeroSettings(MetadataHeroSettings{}).TimeRemainingColour; got != MetadataHeroTimeRemainingColourGreen {
t.Fatalf("default time remaining colour = %q, want green", got)
}
if got := NormalizeMetadataHeroSettings(MetadataHeroSettings{TimeRemainingColour: " WHITE "}).TimeRemainingColour; got != MetadataHeroTimeRemainingColourWhite {
t.Fatalf("time remaining colour = %q, want white", got)
}
if got := NormalizeMetadataHeroSettings(MetadataHeroSettings{TimeRemainingColour: "orange"}).TimeRemainingColour; got != MetadataHeroTimeRemainingColourGreen {
t.Fatalf("unknown time remaining colour = %q, want green", got)
}
}