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 )
}
}