Skip to content
Snippets Groups Projects
Commit 530872df authored by ko_oler's avatar ko_oler
Browse files

Исправлена ошибка в функции getEnumOpt, которая приводила к неверным enum...

Исправлена ошибка в функции getEnumOpt, которая приводила к неверным enum значение в коллекции system_actions у полей kind
parent c2276e84
No related branches found
No related tags found
No related merge requests found
......@@ -94,15 +94,17 @@ func NewActionsCollection(spaceID, envID string) *collections.Collection {
}
func getEnumOpt(opts map[int32]string) []validate.EnumOpt {
keys := make([]string, 0, len(opts))
for _, k := range opts {
keys := make([]int32, 0, len(opts))
for k := range opts {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Slice(keys, func(i, j int) bool {
return keys[i] < keys[j]
})
enum := make([]validate.EnumOpt, len(opts))
for i, n := range keys {
enum[i] = validate.EnumOpt{Name: n, Value: float64(i)}
enum[i] = validate.EnumOpt{Name: opts[n], Value: float64(n)}
}
return enum
}
......
......@@ -5,6 +5,7 @@ import (
"testing"
"git.perx.ru/perxis/perxis-go/pkg/schema/validate"
pb "git.perx.ru/perxis/perxis-go/proto/extensions"
)
func Test_getEnumOpt(t *testing.T) {
......@@ -17,10 +18,48 @@ func Test_getEnumOpt(t *testing.T) {
name: "#1",
opts: map[int32]string{1: "a", 2: "b", 3: "c", 1000: "w"},
want: []validate.EnumOpt{
{Name: "a", Value: float64(0)},
{Name: "b", Value: float64(1)},
{Name: "c", Value: float64(2)},
{Name: "w", Value: float64(3)},
{Name: "a", Value: float64(1)},
{Name: "b", Value: float64(2)},
{Name: "c", Value: float64(3)},
{Name: "w", Value: float64(1000)},
},
},
{
name: "#2",
opts: pb.Action_Kind_name,
want: []validate.EnumOpt{
{Name: "DEFAULT", Value: float64(0)},
{Name: "SPACE", Value: float64(1)},
{Name: "ENVIRONMENT", Value: float64(2)},
{Name: "COLLECTION", Value: float64(3)},
{Name: "ITEM", Value: float64(4)},
{Name: "ITEMS", Value: float64(5)},
{Name: "REVISION", Value: float64(6)},
{Name: "CREATE", Value: float64(7)},
},
},
{
name: "#3",
opts: pb.Action_View_name,
want: []validate.EnumOpt{
{Name: "DEFAULT_VIEW", Value: float64(0)},
{Name: "HIDDEN_VIEW", Value: float64(1)},
{Name: "MAIN_MENU_VIEW", Value: float64(2)},
{Name: "MAIN_MENU_BOTTOM_VIEW", Value: float64(3)},
},
},
{
name: "#4",
opts: pb.Target_name,
want: []validate.EnumOpt{
{Name: "DEFAULT", Value: float64(0)},
{Name: "MODAL", Value: float64(1)},
{Name: "WIDE", Value: float64(2)},
{Name: "MAIN", Value: float64(4)},
{Name: "DRAWER", Value: float64(5)},
{Name: "NOTIFICATION", Value: float64(6)},
{Name: "BLANK", Value: float64(7)},
{Name: "NONE", Value: float64(100)},
},
},
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment