bpmn-client 1.0.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +4 -0
- package/Sample/.env +4 -0
- package/Sample/CarExample.js +62 -0
- package/Sample/CarExample.ts +97 -0
- package/Sample/package.json +44 -0
- package/Sample/test.js +33 -0
- package/Sample/test.ts +32 -0
- package/Sample/tsconfig.json +17 -0
- package/demo.env +4 -0
- package/index.js +14 -141
- package/index.ts +1 -139
- package/local.env +4 -0
- package/package.json +12 -14
- package/src/BPMNClient.js +246 -0
- package/src/BPMNClient.ts +246 -0
- package/src/index.js +19 -0
- package/src/index.ts +4 -0
- package/src/interfaces/DataObjects.js +2 -0
- package/src/interfaces/DataObjects.ts +97 -0
- package/src/interfaces/Enums.js +117 -0
- package/src/interfaces/Enums.ts +71 -0
- package/test/.eslintrc.json +20 -0
- package/test/.mocharc.json +12 -0
- package/test/feature/.env +5 -0
- package/test/feature/carServer.js +122 -0
- package/test/helpers/setup.js +9 -0
- package/test/logs/Buy Used Carrepairsfalse cleaning +0 -0
- package/test/logs/Buy Used Carrepairstrue cleaning +0 -0
- package/test/logs/Buy Used Carscenario CaseId +0 -0
- package/test/logs/carrepairsfalse cleaning +0 -0
- package/test/logs/carrepairstrue cleaning +0 -0
- package/test.env +4 -0
- package/test.js +53 -5
- package/test.ts +104 -4
- package/test2.js +270 -0
- package/test2.ts +326 -0
- package/tsconfig.json +4 -4
- package/BPMNClient.d.ts +0 -36
- package/BPMNClient.js +0 -144
- package/BPMNClient.js.map +0 -1
- package/BPMNClient.ts +0 -139
- package/index.d.ts +0 -36
- package/index.js.map +0 -1
- package/npm.list +0 -579
- package/test.d.ts +0 -1
- package/test.js.map +0 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NODE_SUBTYPE = exports.EXECUTION_STATUS = exports.TOKEN_STATUS = exports.ITEM_STATUS = exports.FLOW_ACTION = exports.NODE_ACTION = exports.EXECUTION_EVENT = exports.BPMN_TYPE = void 0;
|
|
4
|
+
var BPMN_TYPE;
|
|
5
|
+
(function (BPMN_TYPE) {
|
|
6
|
+
BPMN_TYPE["UserTask"] = "bpmn:UserTask";
|
|
7
|
+
BPMN_TYPE["ScriptTask"] = "bpmn:ScriptTask";
|
|
8
|
+
BPMN_TYPE["ServiceTask"] = "bpmn:ServiceTask";
|
|
9
|
+
BPMN_TYPE["SendTask"] = "bpmn:SendTask";
|
|
10
|
+
BPMN_TYPE["ReceiveTask"] = "bpmn:ReceiveTask";
|
|
11
|
+
BPMN_TYPE["BusinessRuleTask"] = "bpmn:BusinessRuleTask";
|
|
12
|
+
BPMN_TYPE["SubProcess"] = "bpmn:SubProces";
|
|
13
|
+
BPMN_TYPE["ParallelGateway"] = "bpmn:ParallelGateway";
|
|
14
|
+
BPMN_TYPE["EventBasedGateway"] = "bpmn:EventBasedGateway";
|
|
15
|
+
BPMN_TYPE["InclusiveGateway"] = "bpmn:InclusiveGateway";
|
|
16
|
+
BPMN_TYPE["ExclusiveGateway"] = "bpmn:ExclusiveGateway";
|
|
17
|
+
BPMN_TYPE["BoundaryEvent"] = "bpmn:BoundaryEvent";
|
|
18
|
+
BPMN_TYPE["StartEvent"] = "bpmn:StartEvent";
|
|
19
|
+
BPMN_TYPE["IntermediateCatchEvent"] = "bpmn:IntermediateCatchEvent";
|
|
20
|
+
BPMN_TYPE["IntermediateThrowEvent"] = "bpmn:IntermediateThrowEvent";
|
|
21
|
+
BPMN_TYPE["EndEvent"] = "bpmn:EndEvent";
|
|
22
|
+
BPMN_TYPE["SequenceFlow"] = "bpmn:SequenceFlow";
|
|
23
|
+
BPMN_TYPE["MessageFlow"] = "bpmn:MessageFlow";
|
|
24
|
+
BPMN_TYPE["CallActivity"] = "bpmn:CallActivity";
|
|
25
|
+
})(BPMN_TYPE || (BPMN_TYPE = {}));
|
|
26
|
+
exports.BPMN_TYPE = BPMN_TYPE;
|
|
27
|
+
var NODE_SUBTYPE;
|
|
28
|
+
(function (NODE_SUBTYPE) {
|
|
29
|
+
NODE_SUBTYPE["timer"] = "timer";
|
|
30
|
+
NODE_SUBTYPE["message"] = "message";
|
|
31
|
+
NODE_SUBTYPE["signal"] = "signal";
|
|
32
|
+
NODE_SUBTYPE["error"] = "error";
|
|
33
|
+
NODE_SUBTYPE["escalation"] = "escalation";
|
|
34
|
+
})(NODE_SUBTYPE || (NODE_SUBTYPE = {}));
|
|
35
|
+
exports.NODE_SUBTYPE = NODE_SUBTYPE;
|
|
36
|
+
/*
|
|
37
|
+
* ALL events
|
|
38
|
+
*/
|
|
39
|
+
var EXECUTION_EVENT;
|
|
40
|
+
(function (EXECUTION_EVENT) {
|
|
41
|
+
EXECUTION_EVENT["node_enter"] = "enter";
|
|
42
|
+
EXECUTION_EVENT["node_start"] = "start";
|
|
43
|
+
EXECUTION_EVENT["node_wait"] = "wait";
|
|
44
|
+
EXECUTION_EVENT["node_end"] = "end";
|
|
45
|
+
EXECUTION_EVENT["node_terminated"] = "terminated";
|
|
46
|
+
EXECUTION_EVENT["transform_input"] = "transformInput";
|
|
47
|
+
EXECUTION_EVENT["transform_output"] = "transformOutput";
|
|
48
|
+
EXECUTION_EVENT["flow_take"] = "take";
|
|
49
|
+
EXECUTION_EVENT["flow_discard"] = "discard";
|
|
50
|
+
EXECUTION_EVENT["process_loaded"] = "process.loaded";
|
|
51
|
+
EXECUTION_EVENT["process_start"] = "process.start";
|
|
52
|
+
EXECUTION_EVENT["process_started"] = "process.started";
|
|
53
|
+
EXECUTION_EVENT["process_invoke"] = "process.invoke";
|
|
54
|
+
EXECUTION_EVENT["process_invoked"] = "process.invoked";
|
|
55
|
+
EXECUTION_EVENT["process_restored"] = "process.restored";
|
|
56
|
+
EXECUTION_EVENT["process_resumed"] = "process_resumed";
|
|
57
|
+
EXECUTION_EVENT["process_wait"] = "process.wait";
|
|
58
|
+
EXECUTION_EVENT["process_end"] = "process.end";
|
|
59
|
+
EXECUTION_EVENT["process_terminated"] = "executeion.terminate";
|
|
60
|
+
EXECUTION_EVENT["token_start"] = "token.start";
|
|
61
|
+
EXECUTION_EVENT["token_wait"] = "token.wait";
|
|
62
|
+
EXECUTION_EVENT["token_end"] = "token.end";
|
|
63
|
+
EXECUTION_EVENT["token_terminated"] = "token.terminated";
|
|
64
|
+
})(EXECUTION_EVENT || (EXECUTION_EVENT = {}));
|
|
65
|
+
exports.EXECUTION_EVENT = EXECUTION_EVENT;
|
|
66
|
+
/*
|
|
67
|
+
* possible actions by node
|
|
68
|
+
*/
|
|
69
|
+
// must be same as above
|
|
70
|
+
var NODE_ACTION;
|
|
71
|
+
(function (NODE_ACTION) {
|
|
72
|
+
NODE_ACTION[NODE_ACTION["continue"] = 1] = "continue";
|
|
73
|
+
NODE_ACTION[NODE_ACTION["wait"] = 2] = "wait";
|
|
74
|
+
NODE_ACTION[NODE_ACTION["end"] = 3] = "end";
|
|
75
|
+
NODE_ACTION[NODE_ACTION["stop"] = 4] = "stop";
|
|
76
|
+
NODE_ACTION[NODE_ACTION["error"] = 5] = "error";
|
|
77
|
+
NODE_ACTION[NODE_ACTION["abort"] = 6] = "abort";
|
|
78
|
+
})(NODE_ACTION || (NODE_ACTION = {}));
|
|
79
|
+
exports.NODE_ACTION = NODE_ACTION;
|
|
80
|
+
;
|
|
81
|
+
var ITEM_STATUS;
|
|
82
|
+
(function (ITEM_STATUS) {
|
|
83
|
+
ITEM_STATUS["enter"] = "enter";
|
|
84
|
+
ITEM_STATUS["start"] = "start";
|
|
85
|
+
ITEM_STATUS["wait"] = "wait";
|
|
86
|
+
ITEM_STATUS["end"] = "end";
|
|
87
|
+
ITEM_STATUS["terminated"] = "terminated";
|
|
88
|
+
ITEM_STATUS["discard"] = "discard";
|
|
89
|
+
})(ITEM_STATUS || (ITEM_STATUS = {}));
|
|
90
|
+
exports.ITEM_STATUS = ITEM_STATUS;
|
|
91
|
+
//type ITEMSTATUS = 'enter' | 'start' | 'wait' | 'end' | 'terminated' | 'discard';
|
|
92
|
+
var EXECUTION_STATUS;
|
|
93
|
+
(function (EXECUTION_STATUS) {
|
|
94
|
+
EXECUTION_STATUS["running"] = "running";
|
|
95
|
+
EXECUTION_STATUS["wait"] = "wait";
|
|
96
|
+
EXECUTION_STATUS["end"] = "end";
|
|
97
|
+
EXECUTION_STATUS["terminated"] = "terminated";
|
|
98
|
+
})(EXECUTION_STATUS || (EXECUTION_STATUS = {}));
|
|
99
|
+
exports.EXECUTION_STATUS = EXECUTION_STATUS;
|
|
100
|
+
var TOKEN_STATUS;
|
|
101
|
+
(function (TOKEN_STATUS) {
|
|
102
|
+
TOKEN_STATUS["running"] = "running";
|
|
103
|
+
TOKEN_STATUS["wait"] = "wait";
|
|
104
|
+
TOKEN_STATUS["end"] = "end";
|
|
105
|
+
TOKEN_STATUS["terminated"] = "terminated";
|
|
106
|
+
})(TOKEN_STATUS || (TOKEN_STATUS = {}));
|
|
107
|
+
exports.TOKEN_STATUS = TOKEN_STATUS;
|
|
108
|
+
/*
|
|
109
|
+
* possible actions by flow
|
|
110
|
+
*/
|
|
111
|
+
// must be same as above
|
|
112
|
+
var FLOW_ACTION;
|
|
113
|
+
(function (FLOW_ACTION) {
|
|
114
|
+
FLOW_ACTION["take"] = "take";
|
|
115
|
+
FLOW_ACTION["discard"] = "discard";
|
|
116
|
+
})(FLOW_ACTION || (FLOW_ACTION = {}));
|
|
117
|
+
exports.FLOW_ACTION = FLOW_ACTION;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
|
|
2
|
+
enum BPMN_TYPE {
|
|
3
|
+
UserTask = 'bpmn:UserTask',
|
|
4
|
+
ScriptTask = 'bpmn:ScriptTask',
|
|
5
|
+
ServiceTask = 'bpmn:ServiceTask',
|
|
6
|
+
SendTask = 'bpmn:SendTask',
|
|
7
|
+
ReceiveTask = 'bpmn:ReceiveTask',
|
|
8
|
+
BusinessRuleTask = 'bpmn:BusinessRuleTask',
|
|
9
|
+
SubProcess = 'bpmn:SubProces',
|
|
10
|
+
ParallelGateway = 'bpmn:ParallelGateway',
|
|
11
|
+
EventBasedGateway = 'bpmn:EventBasedGateway',
|
|
12
|
+
InclusiveGateway = 'bpmn:InclusiveGateway',
|
|
13
|
+
ExclusiveGateway = 'bpmn:ExclusiveGateway',
|
|
14
|
+
BoundaryEvent = 'bpmn:BoundaryEvent',
|
|
15
|
+
StartEvent = 'bpmn:StartEvent',
|
|
16
|
+
IntermediateCatchEvent = 'bpmn:IntermediateCatchEvent',
|
|
17
|
+
IntermediateThrowEvent = 'bpmn:IntermediateThrowEvent',
|
|
18
|
+
EndEvent = 'bpmn:EndEvent',
|
|
19
|
+
SequenceFlow = 'bpmn:SequenceFlow',
|
|
20
|
+
MessageFlow = 'bpmn:MessageFlow',
|
|
21
|
+
CallActivity = 'bpmn:CallActivity'
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
enum NODE_SUBTYPE {
|
|
25
|
+
timer = 'timer',
|
|
26
|
+
message = 'message',
|
|
27
|
+
signal = 'signal',
|
|
28
|
+
error = 'error',
|
|
29
|
+
escalation = 'escalation'
|
|
30
|
+
}
|
|
31
|
+
/*
|
|
32
|
+
* ALL events
|
|
33
|
+
*/
|
|
34
|
+
enum EXECUTION_EVENT {
|
|
35
|
+
node_enter = 'enter', node_start = 'start', node_wait = 'wait', node_end = 'end', node_terminated = 'terminated',
|
|
36
|
+
transform_input = 'transformInput', transform_output ='transformOutput',
|
|
37
|
+
flow_take = 'take', flow_discard = 'discard',
|
|
38
|
+
process_loaded ='process.loaded',
|
|
39
|
+
process_start = 'process.start', process_started = 'process.started',
|
|
40
|
+
process_invoke = 'process.invoke', process_invoked = 'process.invoked',
|
|
41
|
+
process_restored = 'process.restored', process_resumed = 'process_resumed',
|
|
42
|
+
process_wait = 'process.wait',
|
|
43
|
+
process_end = 'process.end', process_terminated = 'executeion.terminate' ,
|
|
44
|
+
token_start = 'token.start', token_wait = 'token.wait', token_end = 'token.end', token_terminated = 'token.terminated'
|
|
45
|
+
}
|
|
46
|
+
/*
|
|
47
|
+
* possible actions by node
|
|
48
|
+
*/
|
|
49
|
+
// must be same as above
|
|
50
|
+
enum NODE_ACTION { continue = 1, wait, end , stop , error , abort };
|
|
51
|
+
|
|
52
|
+
enum ITEM_STATUS { enter = 'enter', start = 'start', wait = 'wait', end = 'end', terminated = 'terminated' , discard= 'discard'}
|
|
53
|
+
|
|
54
|
+
//type ITEMSTATUS = 'enter' | 'start' | 'wait' | 'end' | 'terminated' | 'discard';
|
|
55
|
+
|
|
56
|
+
enum EXECUTION_STATUS { running='running',wait='wait', end = 'end' , terminated ='terminated' }
|
|
57
|
+
|
|
58
|
+
enum TOKEN_STATUS { running = 'running', wait = 'wait', end = 'end', terminated = 'terminated' }
|
|
59
|
+
/*
|
|
60
|
+
* possible actions by flow
|
|
61
|
+
*/
|
|
62
|
+
// must be same as above
|
|
63
|
+
|
|
64
|
+
enum FLOW_ACTION { take = 'take', discard = 'discard' }
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
export {
|
|
68
|
+
BPMN_TYPE ,
|
|
69
|
+
EXECUTION_EVENT, NODE_ACTION, FLOW_ACTION,
|
|
70
|
+
ITEM_STATUS, TOKEN_STATUS, EXECUTION_STATUS , NODE_SUBTYPE
|
|
71
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"mocha": true
|
|
4
|
+
},
|
|
5
|
+
"rules": {
|
|
6
|
+
"no-unused-expressions": 0,
|
|
7
|
+
"no-var": 1,
|
|
8
|
+
"prefer-arrow-callback": 1
|
|
9
|
+
},
|
|
10
|
+
"globals": {
|
|
11
|
+
"expect": false,
|
|
12
|
+
"Feature": false,
|
|
13
|
+
"Scenario": false,
|
|
14
|
+
"Given": false,
|
|
15
|
+
"When": false,
|
|
16
|
+
"Then": false,
|
|
17
|
+
"And": false,
|
|
18
|
+
"But": false
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"diff": true,
|
|
3
|
+
"extension": [ "js" ],
|
|
4
|
+
"package": "package.json",
|
|
5
|
+
"reporter": "spec",
|
|
6
|
+
"slow": 1500,
|
|
7
|
+
"timeout": 50000,
|
|
8
|
+
"recursive": true,
|
|
9
|
+
"file": [ "test/helpers/setup.js" ],
|
|
10
|
+
"ui": "mocha-cakes-2",
|
|
11
|
+
"watch-files": [ "test/feature/*.js" ]
|
|
12
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
const { BPMNClient } = require("../../src/");
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
const API_KEY = '12345';
|
|
6
|
+
const HOST = 'localhost';
|
|
7
|
+
const PORT = '3000';
|
|
8
|
+
//const HOST = 'test.omniworkflow.com';
|
|
9
|
+
//const PORT = '443';
|
|
10
|
+
|
|
11
|
+
const BASE_URL = 'api';
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
console.log('-------- car.js -----------');
|
|
15
|
+
|
|
16
|
+
const server = new BPMNClient(HOST, PORT, API_KEY);
|
|
17
|
+
|
|
18
|
+
var caseId = Math.floor(Math.random() * 10000);
|
|
19
|
+
|
|
20
|
+
let name = 'Buy Used Car';
|
|
21
|
+
let process;
|
|
22
|
+
let response;
|
|
23
|
+
let instanceId;
|
|
24
|
+
|
|
25
|
+
Feature('Buy Used Car- clean and repair', () => {
|
|
26
|
+
Scenario('Simple', () => {
|
|
27
|
+
Given('Start Buy Used Car Process', async () => {
|
|
28
|
+
response = await server.engine.start(name, { caseId: caseId });
|
|
29
|
+
instanceId = response.id;
|
|
30
|
+
console.log('**instanceId', response.id, instanceId);
|
|
31
|
+
console.log(' after start ', response.data.caseId);
|
|
32
|
+
});
|
|
33
|
+
Then('check for output', () => {
|
|
34
|
+
expect(response.data.caseId).equals(caseId);
|
|
35
|
+
expect(getItem('task_Buy').status).equals('wait');
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
When('a process defintion is executed', async () => {
|
|
39
|
+
|
|
40
|
+
const data = { needsCleaning: "Yes", needsRepairs: "Yes" };
|
|
41
|
+
const query = {
|
|
42
|
+
id: instanceId,
|
|
43
|
+
"items.elementId": 'task_Buy'
|
|
44
|
+
};
|
|
45
|
+
console.log(query);
|
|
46
|
+
response = await server.engine.invoke(query, data);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
When('engine get', async () => {
|
|
50
|
+
const query = { id: instanceId };
|
|
51
|
+
|
|
52
|
+
response = await server.engine.get(query);
|
|
53
|
+
|
|
54
|
+
expect(response.id).equals(instanceId);
|
|
55
|
+
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
Then('check for output to have engine', () => {
|
|
60
|
+
expect(getItem('task_Buy').status).equals('end');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
and('Clean it', async () => {
|
|
64
|
+
|
|
65
|
+
const query = {
|
|
66
|
+
"data.caseId": caseId,
|
|
67
|
+
"items.elementId": 'task_clean'
|
|
68
|
+
};
|
|
69
|
+
console.log(query);
|
|
70
|
+
await server.engine.invoke(query, {});
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
and('Repair it', async () => {
|
|
74
|
+
const query = { id: instanceId, "items.elementId": 'task_repair' };
|
|
75
|
+
response = await server.engine.invoke(query, {});
|
|
76
|
+
});
|
|
77
|
+
and('Drive it 1', async () => {
|
|
78
|
+
const query = {
|
|
79
|
+
id: instanceId,
|
|
80
|
+
"items.elementId": 'task_Drive'
|
|
81
|
+
};
|
|
82
|
+
response = await server.engine.invoke(query, {});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
and('Case Complete', async () => {
|
|
86
|
+
|
|
87
|
+
console.log(response.status);
|
|
88
|
+
expect(getItem('task_Drive').status).equals('end');
|
|
89
|
+
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
and('find engine status', async () => {
|
|
93
|
+
|
|
94
|
+
var insts = await server.engine.status();
|
|
95
|
+
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
//
|
|
99
|
+
and('find instances', async () => {
|
|
100
|
+
|
|
101
|
+
var insts = await server.datastore.findInstances({ id: response.id });
|
|
102
|
+
expect(insts).to.have.lengthOf(1);
|
|
103
|
+
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
and('find items', async () => {
|
|
107
|
+
|
|
108
|
+
var items = await server.datastore.findItems({ id: response.id } );
|
|
109
|
+
expect(items).to.have.lengthOf(17);
|
|
110
|
+
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
function getItem(id) {
|
|
121
|
+
return response.items.filter(item => { return item.elementId == id; })[0];
|
|
122
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test.env
ADDED
package/test.js
CHANGED
|
@@ -9,12 +9,60 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
12
|
+
const _1 = require("./");
|
|
13
|
+
console.log("Testing BPMNClient");
|
|
14
|
+
const dotenv = require('dotenv');
|
|
15
|
+
const res = dotenv.config();
|
|
16
|
+
console.log(res);
|
|
17
|
+
test();
|
|
13
18
|
function test() {
|
|
14
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
20
|
+
const server = new _1.BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
21
|
+
const caseId = 3040;
|
|
22
|
+
var defs = yield server.definitions.list();
|
|
23
|
+
console.log(defs);
|
|
24
|
+
var def = yield server.definitions.load('Buy Used Car');
|
|
25
|
+
console.log(def['elements']);
|
|
26
|
+
//var instance = await server.engine.start("Buy Used Car", {});
|
|
27
|
+
var instance = yield server.engine.start("Buy Used Car", { caseId: caseId });
|
|
28
|
+
console.log("instance.id", instance.id, instance.name, instance.status, instance.data.caseId);
|
|
29
|
+
var response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Buy' }, { needsCleaning: "Yes", needsRepairs: "Yes" });
|
|
30
|
+
console.log('after buy', response.id, response.data);
|
|
31
|
+
response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_clean' }, {});
|
|
32
|
+
console.log('after clean', response.id, response.data);
|
|
33
|
+
response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_repair' }, {});
|
|
34
|
+
console.log('after repair', response.id, response.data);
|
|
35
|
+
try {
|
|
36
|
+
response = yield server.engine.invoke({ id: instance.id, "items.elementId": 'task_Drive' }, {});
|
|
37
|
+
console.log('after drive', response.id, response.data);
|
|
38
|
+
}
|
|
39
|
+
catch (exc) {
|
|
40
|
+
console.log(exc);
|
|
41
|
+
}
|
|
42
|
+
var items = yield server.datastore.findItems({ "items.status": "end", "items.elementId": "task_Buy" });
|
|
43
|
+
items.forEach(item => {
|
|
44
|
+
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
45
|
+
});
|
|
46
|
+
var insts = yield server.datastore.findInstances({ data: { caseId: caseId } });
|
|
47
|
+
insts.forEach(inst => {
|
|
48
|
+
console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
|
|
49
|
+
});
|
|
50
|
+
var insts = yield server.datastore.findInstances({ id: instance.id });
|
|
51
|
+
insts.forEach(inst => {
|
|
52
|
+
for (var i = 0; i < inst.items.length; i++) {
|
|
53
|
+
var item = inst.items[i];
|
|
54
|
+
console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
var inst = yield server.engine.get({ id: instance.id });
|
|
58
|
+
for (var i = 0; i < inst.items.length; i++) {
|
|
59
|
+
var item = inst.items[i];
|
|
60
|
+
console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
|
|
61
|
+
}
|
|
62
|
+
// var items = await server.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
|
|
63
|
+
var items = yield server.datastore.findItems({ id: instance.id });
|
|
64
|
+
items.forEach(item => {
|
|
65
|
+
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
66
|
+
});
|
|
18
67
|
});
|
|
19
68
|
}
|
|
20
|
-
//# sourceMappingURL=test.js.map
|
package/test.ts
CHANGED
|
@@ -1,10 +1,110 @@
|
|
|
1
|
-
import { BPMNClient } from './
|
|
1
|
+
import { BPMNClient } from './';
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
console.log("Testing BPMNClient");
|
|
5
|
+
const dotenv = require('dotenv');
|
|
6
|
+
const res = dotenv.config();
|
|
7
|
+
|
|
8
|
+
console.log(res);
|
|
9
|
+
test();
|
|
10
|
+
|
|
4
11
|
async function test() {
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
12
|
+
|
|
13
|
+
const server= new BPMNClient(process.env.HOST, process.env.PORT, process.env.API_KEY);
|
|
14
|
+
|
|
15
|
+
const caseId = 3040;
|
|
16
|
+
|
|
17
|
+
var defs = await server.definitions.list();
|
|
18
|
+
|
|
19
|
+
console.log(defs);
|
|
20
|
+
var def = await server.definitions.load('Buy Used Car');
|
|
21
|
+
|
|
22
|
+
console.log(def['elements']);
|
|
23
|
+
|
|
24
|
+
//var instance = await server.engine.start("Buy Used Car", {});
|
|
25
|
+
|
|
26
|
+
var instance = await server.engine.start("Buy Used Car", { caseId: caseId });
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
console.log("instance.id", instance.id, instance.name, instance.status, instance.data.caseId);
|
|
30
|
+
|
|
31
|
+
var response = await server.engine.invoke(
|
|
32
|
+
{ id: instance.id, "items.elementId": 'task_Buy' }
|
|
33
|
+
, { needsCleaning: "Yes", needsRepairs: "Yes" });
|
|
34
|
+
|
|
35
|
+
console.log('after buy', response.id, response.data);
|
|
36
|
+
|
|
37
|
+
response = await server.engine.invoke(
|
|
38
|
+
{ id: instance.id, "items.elementId": 'task_clean' }
|
|
39
|
+
, {});
|
|
40
|
+
|
|
41
|
+
console.log('after clean', response.id, response.data);
|
|
42
|
+
|
|
43
|
+
response = await server.engine.invoke(
|
|
44
|
+
{ id: instance.id, "items.elementId": 'task_repair' }
|
|
45
|
+
, {});
|
|
46
|
+
|
|
47
|
+
console.log('after repair', response.id, response.data);
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
response = await server.engine.invoke(
|
|
52
|
+
{ id: instance.id, "items.elementId": 'task_Drive' }
|
|
53
|
+
, {});
|
|
54
|
+
|
|
55
|
+
console.log('after drive', response.id, response.data);
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
catch (exc) {
|
|
59
|
+
console.log(exc);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
var items = await server.datastore.findItems({ "items.status": "end", "items.elementId": "task_Buy" });
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
items.forEach(item => {
|
|
69
|
+
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
var insts = await server.datastore.findInstances({ data: { caseId: caseId } });
|
|
75
|
+
|
|
76
|
+
insts.forEach(inst => {
|
|
77
|
+
console.log('Inst for CaseId id==>' + inst.id, inst.name, inst.data.caseId, 'status==>', inst.status);
|
|
78
|
+
});
|
|
79
|
+
var insts = await server.datastore.findInstances({ id: instance.id });
|
|
80
|
+
|
|
81
|
+
insts.forEach(inst => {
|
|
82
|
+
for (var i = 0; i < inst.items.length; i++) {
|
|
83
|
+
var item = inst.items[i];
|
|
84
|
+
console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
|
|
85
|
+
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
var inst = await server.engine.get({ id: instance.id });
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
for (var i = 0; i < inst.items.length; i++) {
|
|
93
|
+
var item = inst.items[i];
|
|
94
|
+
console.log(' item: elementId==>' + item.elementId, item.name, 'status==>', item.status);
|
|
95
|
+
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
// var items = await server.datastore.findItems({ query: { "items.elementId": "task_Buy" } });
|
|
101
|
+
var items = await server.datastore.findItems({ id: instance.id });
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
items.forEach(item => {
|
|
105
|
+
console.log('item: id==>' + item.elementId, item.type, item.name, 'status==>', item.status);
|
|
106
|
+
});
|
|
8
107
|
|
|
9
108
|
}
|
|
10
109
|
|
|
110
|
+
|