1+ import { describe , expect , it } from "vitest" ;
2+ import { Flow } from "@code0-tech/sagittarius-graphql-types" ;
3+ import { getFlowValidation , getSignatureSchema } from "../../src" ;
4+ import { DATA_TYPES , FUNCTION_SIGNATURES } from "../data" ;
5+
6+ describe ( "Schema" , ( ) => {
7+
8+ it ( '1' , ( ) => {
9+
10+ const flow : Flow = {
11+ id : "gid://sagittarius/Flow/1" ,
12+ startingNodeId : "gid://sagittarius/NodeFunction/1" ,
13+ nodes : {
14+ nodes : [
15+ {
16+ id : "gid://sagittarius/NodeFunction/1" ,
17+ functionDefinition : { identifier : "std::number::add" } ,
18+ parameters : {
19+ nodes : [
20+ { value : { __typename : "LiteralValue" , value : 1 } } ,
21+ { value : { __typename : "LiteralValue" , value : 0 } }
22+ ]
23+ } ,
24+ nextNodeId : "gid://sagittarius/NodeFunction/2"
25+ } ,
26+ {
27+ id : "gid://sagittarius/NodeFunction/2" ,
28+ functionDefinition : { identifier : "std::list::for_each" } ,
29+ parameters : {
30+ nodes : [
31+ {
32+ value : {
33+ __typename : "LiteralValue" ,
34+ value : [ { test : 1 } ]
35+ }
36+ } ,
37+ {
38+ value : {
39+ __typename : "NodeFunctionIdWrapper" ,
40+ id : "gid://sagittarius/NodeFunction/3"
41+ }
42+ }
43+ ]
44+ }
45+ } ,
46+ {
47+ id : "gid://sagittarius/NodeFunction/3" ,
48+ functionDefinition : { identifier : "std::number::add" } ,
49+ parameters : {
50+ nodes : [
51+ {
52+ value : {
53+ __typename : "ReferenceValue" ,
54+ nodeFunctionId : "gid://sagittarius/NodeFunction/2" ,
55+ parameterIndex : 1 ,
56+ inputIndex : 0 ,
57+ referencePath : [ { path : "test" } ]
58+ }
59+ } ,
60+ {
61+ value : { __typename : "LiteralValue" , value : 10 }
62+ }
63+ ]
64+ }
65+ }
66+ ]
67+ } ,
68+ signature : "(test: HTTP_METHOD): void"
69+ } ;
70+
71+ const result = getSignatureSchema ( flow , DATA_TYPES , FUNCTION_SIGNATURES ) ;
72+
73+ //console.dir(result, {depth: null})
74+ } ) ;
75+
76+ it ( '2' , ( ) => {
77+
78+ const flow : Flow = {
79+ nodes : {
80+ nodes : [
81+ {
82+ id : "gid://sagittarius/NodeFunction/1" ,
83+ functionDefinition : { identifier : "std::list::at" } ,
84+ parameters : {
85+ nodes : [
86+ { value : null } ,
87+ { value : { __typename : "LiteralValue" , value : 0 } }
88+ ]
89+ } ,
90+ nextNodeId : "gid://sagittarius/NodeFunction/2"
91+ } ,
92+ {
93+ id : "gid://sagittarius/NodeFunction/2" ,
94+ functionDefinition : { identifier : "std::number::add" } ,
95+ parameters : {
96+ nodes : [
97+ {
98+ value : {
99+ __typename : "ReferenceValue" ,
100+ nodeFunctionId : "gid://sagittarius/NodeFunction/1"
101+ }
102+ } ,
103+ {
104+ value : null
105+ }
106+ ]
107+ }
108+ }
109+ ]
110+ }
111+ } ;
112+
113+ const result = getSignatureSchema ( flow , DATA_TYPES , FUNCTION_SIGNATURES , "gid://sagittarius/NodeFunction/2" ) ;
114+
115+ //console.dir(result, {depth: null})
116+
117+ } ) ;
118+
119+ } )
0 commit comments