2026-08-22 08:26:10 +12:00
|
|
|
package api
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"reflect"
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/ponzischeme89/memby/server/internal/store"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestMetadataHeroSettingsStateHasAUsableGlobalDefault(t *testing.T) {
|
|
|
|
|
var state metadataHeroSettingsState
|
2026-08-22 11:32:50 +12:00
|
|
|
settings := state.get()
|
|
|
|
|
got := settings.ContentOrder
|
2026-08-22 08:26:10 +12:00
|
|
|
if !reflect.DeepEqual(got, store.DefaultMetadataHeroContentOrder) {
|
|
|
|
|
t.Fatalf("content order = %v, want %v", got, store.DefaultMetadataHeroContentOrder)
|
|
|
|
|
}
|
2026-08-22 11:32:50 +12:00
|
|
|
if settings.TimeRemainingColour != store.MetadataHeroTimeRemainingColourGreen {
|
|
|
|
|
t.Fatalf("time remaining colour = %q, want green", settings.TimeRemainingColour)
|
|
|
|
|
}
|
2026-08-22 08:26:10 +12:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestMetadataHeroSettingsStateNormalisesEveryWrite(t *testing.T) {
|
|
|
|
|
var state metadataHeroSettingsState
|
2026-08-22 11:32:50 +12:00
|
|
|
state.set(store.MetadataHeroSettings{
|
|
|
|
|
ContentOrder: []string{"summary", "unknown", "summary", "title"},
|
|
|
|
|
TimeRemainingColour: " WHITE ",
|
|
|
|
|
})
|
2026-08-22 08:26:10 +12:00
|
|
|
want := []string{"summary", "title"}
|
|
|
|
|
if got := state.get().ContentOrder; !reflect.DeepEqual(got, want) {
|
|
|
|
|
t.Fatalf("content order = %v, want %v", got, want)
|
|
|
|
|
}
|
2026-08-22 11:32:50 +12:00
|
|
|
if got := state.get().TimeRemainingColour; got != store.MetadataHeroTimeRemainingColourWhite {
|
|
|
|
|
t.Fatalf("time remaining colour = %q, want white", got)
|
|
|
|
|
}
|
2026-08-22 08:26:10 +12:00
|
|
|
}
|