generated from VLADIMIR/template
up
This commit is contained in:
@@ -12,6 +12,9 @@ var (
|
||||
"users_page",
|
||||
"reviews_page",
|
||||
},
|
||||
rolesModule.Developer: {
|
||||
"tasks_page",
|
||||
},
|
||||
rolesModule.Author: {
|
||||
"scenarios_page",
|
||||
"scenario_editor_page",
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package ui_service
|
||||
|
||||
import (
|
||||
"slices"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTasksPermission(t *testing.T) {
|
||||
for _, tc := range []struct {
|
||||
role string
|
||||
allowed bool
|
||||
}{
|
||||
{"developer", true}, {"admin", true}, {"user", false}, {"author", false}, {"organizer", false},
|
||||
} {
|
||||
t.Run(tc.role, func(t *testing.T) {
|
||||
got := NewUIService().GetPermissions([]string{tc.role})
|
||||
if slices.Contains(got, "tasks_page") != tc.allowed {
|
||||
t.Fatalf("permissions=%v", got)
|
||||
}
|
||||
if tc.role == "developer" && slices.Contains(got, "users_page") {
|
||||
t.Fatal("developer has administrative permission")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user