package app import ( "context" "testing" "evening_detective_server/internal/modules/processor_jwt" "evening_detective_server/proto" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) func TestSetScreenModeRejectsRemovedModes(t *testing.T) { ctx := processor_jwt.ContextWithClaims(context.Background(), &processor_jwt.JWTClaims{ Roles: []string{"organizer"}, }) s := &server{} for _, mode := range []int32{3, 5} { _, err := s.SetScreenMode(ctx, &proto.SetScreenModeReq{ GameID: 1, Mode: proto.ScreenMode(mode), }) if status.Code(err) != codes.InvalidArgument { t.Errorf("SetScreenMode(%d) = %v, want InvalidArgument", mode, err) } } } func TestScreenTeamsRejectsInvalidAccess(t *testing.T) { tests := []struct { name string req *proto.GetScreenTeamsReq }{ {"missing", nil}, {"missing token", &proto.GetScreenTeamsReq{ScreenID: "1"}}, {"bad ID", &proto.GetScreenTeamsReq{ScreenID: "bad", AccessToken: "token"}}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { _, err := (&server{}).GetScreenTeams(context.Background(), tt.req) if status.Code(err) != codes.InvalidArgument { t.Fatalf("unexpected error: %v", err) } }) } }