forked from TouK/nussknacker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SubprocessSchemaAligner-test.js
66 lines (59 loc) · 2.14 KB
/
SubprocessSchemaAligner-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import * as SubprocessSchemaAligner from '../components/graph/SubprocessSchemaAligner'
import _ from 'lodash'
const subprocessProcessDefinitionData = {
nodesToAdd: [
{
name: "fragments",
possibleNodes: [
{
type: "subprocess", label: "subproc1", node: {
type: "SubprocessInput", id: "", ref: {
id: "subproc1",
parameters: [
{"name": "param1", "expression": {"language": "spel", "expression": "''"}},
{"name": "param2", "expression": {"language": "spel", "expression": "''"}}
]
}
}
}
]
}
],
processDefinition: {}
}
describe("subprocess schema aligner test", () => {
it("should remove redundant and add missing parameters according to schema", () => {
const subprocessNode = {
type: "SubprocessInput", id: "node4",
ref: {
id: "subproc1",
parameters: [
{name: "oldParam1", expression: {language: "spel", expression: "'abc'"}},
{name: "param2", expression: {language: "spel", expression: "'cde'"}}
]
},
outputs : {}
}
const alignedSubprocess = SubprocessSchemaAligner.alignSubprocessWithSchema(subprocessProcessDefinitionData, subprocessNode)
expect(alignedSubprocess.ref.parameters).toEqual([
{ name: "param1", expression: { language: "spel", expression: "''"}},
{ name: "param2", expression: { language: "spel", expression: "'cde'"}}
])
expect(_.omit(alignedSubprocess, 'ref')).toEqual(_.omit(subprocessNode, 'ref'))
})
it("should not change anything if subprocess is valid with schema", () => {
const subprocessNode = {
type: "SubprocessInput", id: "node4",
ref: {
id: "subproc1",
parameters: [
{name: "param1", expression: {language: "spel", expression: "'abc'"}},
{name: "param2", expression: {language: "spel", expression: "'cde'"}}
]
},
outputs : {}
}
const alignedSubprocess = SubprocessSchemaAligner.alignSubprocessWithSchema(subprocessProcessDefinitionData, subprocessNode)
expect(alignedSubprocess).toEqual(subprocessNode)
})
})