@@ -679,4 +679,262 @@ describe('getFlowValidation - Integrationstest', () => {
679679 } )
680680 } ) ;
681681
682+ it ( '9' , ( ) => {
683+
684+ const flow : Flow = {
685+ "__typename" : "Flow" ,
686+ "id" : "gid://sagittarius/Flow/1" ,
687+ "createdAt" : "2026-04-13T19:45:44Z" ,
688+ "signature" : "(httpURL: HTTP_URL, httpMethod: HTTP_METHOD): { payload: { test: BOOLEAN }, headers: { bla: TEXT } }" ,
689+ "disabledReason" : null ,
690+ "name" : "Test" ,
691+ "project" : {
692+ "__typename" : "NamespaceProject" ,
693+ "id" : "gid://sagittarius/NamespaceProject/1"
694+ } ,
695+ "settings" : {
696+ "nodes" : [
697+ {
698+ "value" : "/test" ,
699+ "flowSettingIdentifier" : "httpURL"
700+ } ,
701+ {
702+ "value" : "GET" ,
703+ "flowSettingIdentifier" : "httpMethod"
704+ }
705+ ]
706+ } ,
707+ "startingNodeId" : "gid://sagittarius/NodeFunction/3" ,
708+ "type" : {
709+ "id" : "gid://sagittarius/FlowType/2" ,
710+ "__typename" : "FlowType"
711+ } ,
712+ "updatedAt" : "2026-04-13T19:54:55Z" ,
713+ "userAbilities" : {
714+ "deleteFlow" : true ,
715+ "__typename" : "FlowUserAbilities"
716+ } ,
717+ "nodes" : {
718+ "nodes" : [
719+ {
720+ "__typename" : "NodeFunction" ,
721+ "id" : "gid://sagittarius/NodeFunction/1" ,
722+ "functionDefinition" : {
723+ "__typename" : "FunctionDefinition" ,
724+ "id" : "gid://sagittarius/FunctionDefinition/42" ,
725+ "identifier" : "http::response::create"
726+ } ,
727+ "parameters" : {
728+ "__typename" : "NodeParameterConnection" ,
729+ "nodes" : [
730+ {
731+ "__typename" : "NodeParameter" ,
732+ "parameterDefinition" : {
733+ "__typename" : "ParameterDefinition" ,
734+ "id" : "gid://sagittarius/ParameterDefinition/66" ,
735+ "identifier" : "http_status_code"
736+ } ,
737+ "value" : {
738+ "__typename" : "LiteralValue" ,
739+ "value" : 200
740+ }
741+ } ,
742+ {
743+ "__typename" : "NodeParameter" ,
744+ "parameterDefinition" : {
745+ "__typename" : "ParameterDefinition" ,
746+ "id" : "gid://sagittarius/ParameterDefinition/67" ,
747+ "identifier" : "headers"
748+ } ,
749+ "value" : {
750+ "__typename" : "LiteralValue" ,
751+ "value" : { }
752+ }
753+ } ,
754+ {
755+ "__typename" : "NodeParameter" ,
756+ "parameterDefinition" : {
757+ "__typename" : "ParameterDefinition" ,
758+ "id" : "gid://sagittarius/ParameterDefinition/68" ,
759+ "identifier" : "payload"
760+ } ,
761+ "value" : {
762+ "__typename" : "ReferenceValue" ,
763+ "nodeFunctionId" : null ,
764+ "referencePath" : [
765+ {
766+ "path" : "payload"
767+ } ,
768+ {
769+ "path" : "test"
770+ }
771+ ]
772+ }
773+ }
774+ ]
775+ } ,
776+ "nextNodeId" : "gid://sagittarius/NodeFunction/2"
777+ } ,
778+ {
779+ "__typename" : "NodeFunction" ,
780+ "id" : "gid://sagittarius/NodeFunction/2" ,
781+ "functionDefinition" : {
782+ "__typename" : "FunctionDefinition" ,
783+ "id" : "gid://sagittarius/FunctionDefinition/114" ,
784+ "identifier" : "rest::control::respond"
785+ } ,
786+ "parameters" : {
787+ "__typename" : "NodeParameterConnection" ,
788+ "nodes" : [
789+ {
790+ "__typename" : "NodeParameter" ,
791+ "parameterDefinition" : {
792+ "__typename" : "ParameterDefinition" ,
793+ "id" : "gid://sagittarius/ParameterDefinition/177" ,
794+ "identifier" : "http_response"
795+ } ,
796+ "value" : {
797+ "__typename" : "ReferenceValue" ,
798+ "nodeFunctionId" : "gid://sagittarius/NodeFunction/1"
799+ }
800+ }
801+ ]
802+ }
803+ } ,
804+ {
805+ "__typename" : "NodeFunction" ,
806+ "id" : "gid://sagittarius/NodeFunction/3" ,
807+ "functionDefinition" : {
808+ "__typename" : "FunctionDefinition" ,
809+ "id" : "gid://sagittarius/FunctionDefinition/5" ,
810+ "identifier" : "std::control::if"
811+ } ,
812+ "parameters" : {
813+ "__typename" : "NodeParameterConnection" ,
814+ "nodes" : [
815+ {
816+ "__typename" : "NodeParameter" ,
817+ "parameterDefinition" : {
818+ "__typename" : "ParameterDefinition" ,
819+ "id" : "gid://sagittarius/ParameterDefinition/6" ,
820+ "identifier" : "condition"
821+ } ,
822+ "value" : {
823+ "__typename" : "ReferenceValue" ,
824+ "nodeFunctionId" : null ,
825+ "referencePath" : [
826+ {
827+ "path" : "payload"
828+ } ,
829+ {
830+ "path" : "test"
831+ }
832+ ]
833+ }
834+ } ,
835+ {
836+ "__typename" : "NodeParameter" ,
837+ "parameterDefinition" : {
838+ "__typename" : "ParameterDefinition" ,
839+ "id" : "gid://sagittarius/ParameterDefinition/7" ,
840+ "identifier" : "runnable"
841+ } ,
842+ "value" : {
843+ "id" : "gid://sagittarius/NodeFunction/4" ,
844+ "__typename" : "NodeFunctionIdWrapper"
845+ }
846+ }
847+ ]
848+ } ,
849+ "nextNodeId" : "gid://sagittarius/NodeFunction/1"
850+ } ,
851+ {
852+ "__typename" : "NodeFunction" ,
853+ "id" : "gid://sagittarius/NodeFunction/4" ,
854+ "functionDefinition" : {
855+ "__typename" : "FunctionDefinition" ,
856+ "id" : "gid://sagittarius/FunctionDefinition/42" ,
857+ "identifier" : "http::response::create"
858+ } ,
859+ "parameters" : {
860+ "__typename" : "NodeParameterConnection" ,
861+ "nodes" : [
862+ {
863+ "__typename" : "NodeParameter" ,
864+ "parameterDefinition" : {
865+ "__typename" : "ParameterDefinition" ,
866+ "id" : "gid://sagittarius/ParameterDefinition/66" ,
867+ "identifier" : "http_status_code"
868+ } ,
869+ "value" : {
870+ "__typename" : "LiteralValue" ,
871+ "value" : 200
872+ }
873+ } ,
874+ {
875+ "__typename" : "NodeParameter" ,
876+ "parameterDefinition" : {
877+ "__typename" : "ParameterDefinition" ,
878+ "id" : "gid://sagittarius/ParameterDefinition/67" ,
879+ "identifier" : "headers"
880+ } ,
881+ "value" : {
882+ "__typename" : "LiteralValue" ,
883+ "value" : { }
884+ }
885+ } ,
886+ {
887+ "__typename" : "NodeParameter" ,
888+ "parameterDefinition" : {
889+ "__typename" : "ParameterDefinition" ,
890+ "id" : "gid://sagittarius/ParameterDefinition/68" ,
891+ "identifier" : "payload"
892+ } ,
893+ "value" : {
894+ "__typename" : "LiteralValue" ,
895+ "value" : "boolean"
896+ }
897+ }
898+ ]
899+ } ,
900+ "nextNodeId" : "gid://sagittarius/NodeFunction/5"
901+ } ,
902+ {
903+ "__typename" : "NodeFunction" ,
904+ "id" : "gid://sagittarius/NodeFunction/5" ,
905+ "functionDefinition" : {
906+ "__typename" : "FunctionDefinition" ,
907+ "id" : "gid://sagittarius/FunctionDefinition/114" ,
908+ "identifier" : "rest::control::respond"
909+ } ,
910+ "parameters" : {
911+ "__typename" : "NodeParameterConnection" ,
912+ "nodes" : [
913+ {
914+ "__typename" : "NodeParameter" ,
915+ "parameterDefinition" : {
916+ "__typename" : "ParameterDefinition" ,
917+ "id" : "gid://sagittarius/ParameterDefinition/177" ,
918+ "identifier" : "http_response"
919+ } ,
920+ "value" : {
921+ "__typename" : "ReferenceValue" ,
922+ "nodeFunctionId" : "gid://sagittarius/NodeFunction/4"
923+ }
924+ }
925+ ]
926+ }
927+ }
928+ ]
929+ }
930+ } ;
931+
932+ const result = getFlowValidation ( flow , FUNCTION_SIGNATURES , DATA_TYPES ) ;
933+
934+ expect ( result . isValid ) . toBe ( true ) ;
935+ result . diagnostics . forEach ( ( error ) => {
936+ expect ( error . parameterIndex ) . toBeDefined ( )
937+ } )
938+ } ) ;
939+
682940} ) ;
0 commit comments