Files
mattermost/server/public/model/feature_flags_test.go
T
2b7b398a22 [MM-68102] Add Classification Markings admin console page (#35934)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: David Krauser <david@krauser.org>
Co-authored-by: avasconcelos114 <andre.onogoro@gmail.com>
2026-04-28 20:02:41 +00:00

73 lines
1.7 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package model
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestFeatureFlagsSetDefaults(t *testing.T) {
f := &FeatureFlags{}
f.SetDefaults()
t.Run("ClassificationMarkings should default to false", func(t *testing.T) {
require.False(t, f.ClassificationMarkings)
})
t.Run("ClassificationMarkings should serialize correctly", func(t *testing.T) {
m := f.ToMap()
require.Equal(t, "false", m["ClassificationMarkings"])
f.ClassificationMarkings = true
m = f.ToMap()
require.Equal(t, "true", m["ClassificationMarkings"])
})
}
func TestFeatureFlagsToMap(t *testing.T) {
for name, tc := range map[string]struct {
Flags FeatureFlags
TestFeatureValue string
}{
"empty": {
TestFeatureValue: "",
Flags: FeatureFlags{},
},
"simple value": {
TestFeatureValue: "expectedvalue",
Flags: FeatureFlags{TestFeature: "expectedvalue"},
},
"empty value": {
TestFeatureValue: "",
Flags: FeatureFlags{TestFeature: ""},
},
} {
t.Run(name, func(t *testing.T) {
require.Equal(t, tc.TestFeatureValue, tc.Flags.ToMap()["TestFeature"])
})
}
}
func TestFeatureFlagsToMapBool(t *testing.T) {
for name, tc := range map[string]struct {
Flags FeatureFlags
TestFeatureValue string
}{
"false": {
TestFeatureValue: "false",
Flags: FeatureFlags{},
},
"true": {
TestFeatureValue: "true",
Flags: FeatureFlags{TestBoolFeature: true},
},
} {
t.Run(name, func(t *testing.T) {
require.Equal(t, tc.TestFeatureValue, tc.Flags.ToMap()["TestBoolFeature"])
})
}
}