Files
evening_detective_server/internal/app/users_permissions_test.go
T
2026-10-10 13:29:57 +07:00

38 lines
1.1 KiB
Go

package app
import (
"context"
"testing"
"evening_detective_server/internal/modules/processor_jwt"
"evening_detective_server/internal/services/ui_service"
proto "evening_detective_server/proto"
)
func TestGetPermissionsEnvironment(t *testing.T) {
for _, mode := range []struct {
name string
venue bool
}{{"prod", false}, {"venue", true}} {
for _, role := range []string{"", "user", "admin"} {
t.Run(mode.name+"/"+role, func(t *testing.T) {
s := &server{uiService: ui_service.NewUIService(mode.venue)}
ctx := context.Background()
if role != "" {
ctx = processor_jwt.ContextWithClaims(ctx, &processor_jwt.JWTClaims{Roles: []string{role}})
}
rsp, err := s.GetPermissions(ctx, &proto.GetPermissionsReq{})
if err != nil {
t.Fatalf("GetPermissions() error = %v", err)
}
if rsp.GetEnvironment() != mode.name {
t.Fatalf("environment = %q, want %q", rsp.GetEnvironment(), mode.name)
}
if (len(rsp.GetPermissions()) == 0) != (role == "") {
t.Fatalf("unexpected permissions for role %q: %v", role, rsp.GetPermissions())
}
})
}
}
}