MM-63912 - enhance validation for channel banner colors (#30981)
* MM-63912 - enhance validation for channel banner colors * fix tests * fix unit tests
Этот коммит содержится в:
@@ -87,6 +87,68 @@ func TestChannelIsValid(t *testing.T) {
|
||||
require.NotNil(t, o.IsValid())
|
||||
}
|
||||
|
||||
func TestChannelBannerBackgroundColorValidation(t *testing.T) {
|
||||
o := Channel{
|
||||
Id: NewId(),
|
||||
CreateAt: GetMillis(),
|
||||
UpdateAt: GetMillis(),
|
||||
Name: "valid-name",
|
||||
Type: ChannelTypeOpen,
|
||||
Header: "valid-header",
|
||||
Purpose: "valid-purpose",
|
||||
BannerInfo: &ChannelBannerInfo{
|
||||
Enabled: NewPointer(true),
|
||||
Text: NewPointer("Banner Text"),
|
||||
},
|
||||
}
|
||||
|
||||
// Test with nil background color
|
||||
o.BannerInfo.BackgroundColor = nil
|
||||
require.NotNil(t, o.IsValid())
|
||||
require.Equal(t, "model.channel.is_valid.banner_info.background_color.empty.app_error", o.IsValid().Id)
|
||||
|
||||
// Test with empty background color
|
||||
o.BannerInfo.BackgroundColor = NewPointer("")
|
||||
require.NotNil(t, o.IsValid())
|
||||
require.Equal(t, "model.channel.is_valid.banner_info.background_color.empty.app_error", o.IsValid().Id)
|
||||
|
||||
// Test with invalid background color (no # prefix)
|
||||
o.BannerInfo.BackgroundColor = NewPointer("FF0000")
|
||||
require.NotNil(t, o.IsValid())
|
||||
require.Equal(t, "model.channel.is_valid.banner_info.background_color.invalid.app_error", o.IsValid().Id)
|
||||
|
||||
// Test with invalid background color (invalid characters)
|
||||
o.BannerInfo.BackgroundColor = NewPointer("#GGGGGG")
|
||||
require.NotNil(t, o.IsValid())
|
||||
require.Equal(t, "model.channel.is_valid.banner_info.background_color.invalid.app_error", o.IsValid().Id)
|
||||
|
||||
// Test with invalid background color (wrong length)
|
||||
o.BannerInfo.BackgroundColor = NewPointer("#FF00")
|
||||
require.NotNil(t, o.IsValid())
|
||||
require.Equal(t, "model.channel.is_valid.banner_info.background_color.invalid.app_error", o.IsValid().Id)
|
||||
|
||||
// Test with invalid background color (wrong length)
|
||||
o.BannerInfo.BackgroundColor = NewPointer("#FF00000")
|
||||
require.NotNil(t, o.IsValid())
|
||||
require.Equal(t, "model.channel.is_valid.banner_info.background_color.invalid.app_error", o.IsValid().Id)
|
||||
|
||||
// Test with valid 6-digit hex color
|
||||
o.BannerInfo.BackgroundColor = NewPointer("#FF0000")
|
||||
require.Nil(t, o.IsValid())
|
||||
|
||||
// Test with valid 6-digit hex color (lowercase)
|
||||
o.BannerInfo.BackgroundColor = NewPointer("#ff0000")
|
||||
require.Nil(t, o.IsValid())
|
||||
|
||||
// Test with valid 3-digit hex color
|
||||
o.BannerInfo.BackgroundColor = NewPointer("#F00")
|
||||
require.Nil(t, o.IsValid())
|
||||
|
||||
// Test with valid 3-digit hex color (lowercase)
|
||||
o.BannerInfo.BackgroundColor = NewPointer("#f00")
|
||||
require.Nil(t, o.IsValid())
|
||||
}
|
||||
|
||||
func TestChannelPreSave(t *testing.T) {
|
||||
o := Channel{Name: "test"}
|
||||
o.PreSave()
|
||||
|
||||
Ссылка в новой задаче
Block a user