@tachybase/plugin-workflow-test 0.23.8

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.
Files changed (55) hide show
  1. package/.turbo/turbo-build.log +14 -0
  2. package/LICENSE +201 -0
  3. package/client.d.ts +2 -0
  4. package/client.js +1 -0
  5. package/dist/client/index.d.ts +3 -0
  6. package/dist/client/index.js +1 -0
  7. package/dist/e2e/e2eCollectionModel.d.ts +2830 -0
  8. package/dist/e2e/e2eCollectionModel.js +4264 -0
  9. package/dist/e2e/e2ePageObjectModel.d.ts +309 -0
  10. package/dist/e2e/e2ePageObjectModel.js +627 -0
  11. package/dist/e2e/e2eUtils.d.ts +42 -0
  12. package/dist/e2e/e2eUtils.js +399 -0
  13. package/dist/e2e/index.d.ts +4 -0
  14. package/dist/e2e/index.js +43 -0
  15. package/dist/externalVersion.js +10 -0
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.js +39 -0
  18. package/dist/server/collections/categories.d.ts +3 -0
  19. package/dist/server/collections/categories.js +35 -0
  20. package/dist/server/collections/comments.d.ts +3 -0
  21. package/dist/server/collections/comments.js +44 -0
  22. package/dist/server/collections/posts.d.ts +3 -0
  23. package/dist/server/collections/posts.js +60 -0
  24. package/dist/server/collections/replies.d.ts +8 -0
  25. package/dist/server/collections/replies.js +31 -0
  26. package/dist/server/collections/tags.d.ts +3 -0
  27. package/dist/server/collections/tags.js +35 -0
  28. package/dist/server/functions.d.ts +4 -0
  29. package/dist/server/functions.js +25 -0
  30. package/dist/server/index.d.ts +10 -0
  31. package/dist/server/index.js +102 -0
  32. package/dist/server/instructions.d.ts +41 -0
  33. package/dist/server/instructions.js +82 -0
  34. package/dist/server/triggers.d.ts +20 -0
  35. package/dist/server/triggers.js +49 -0
  36. package/e2e.d.ts +2 -0
  37. package/e2e.js +1 -0
  38. package/package.json +24 -0
  39. package/server.d.ts +2 -0
  40. package/server.js +1 -0
  41. package/src/client/index.ts +3 -0
  42. package/src/e2e/e2eCollectionModel.ts +4251 -0
  43. package/src/e2e/e2ePageObjectModel.ts +647 -0
  44. package/src/e2e/e2eUtils.ts +950 -0
  45. package/src/e2e/index.ts +4 -0
  46. package/src/index.ts +2 -0
  47. package/src/server/collections/categories.ts +15 -0
  48. package/src/server/collections/comments.ts +24 -0
  49. package/src/server/collections/posts.ts +40 -0
  50. package/src/server/collections/replies.ts +9 -0
  51. package/src/server/collections/tags.ts +15 -0
  52. package/src/server/functions.ts +3 -0
  53. package/src/server/index.ts +84 -0
  54. package/src/server/instructions.ts +67 -0
  55. package/src/server/triggers.ts +19 -0
@@ -0,0 +1,627 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var e2ePageObjectModel_exports = {};
19
+ __export(e2ePageObjectModel_exports, {
20
+ AggregateNode: () => AggregateNode,
21
+ ApprovalPassthroughModeNode: () => ApprovalPassthroughModeNode,
22
+ ApprovalTriggerNode: () => ApprovalTriggerNode,
23
+ ClculationNode: () => ClculationNode,
24
+ CollectionTriggerNode: () => CollectionTriggerNode,
25
+ ConditionBranchNode: () => ConditionBranchNode,
26
+ ConditionYesNode: () => ConditionYesNode,
27
+ CreateRecordNode: () => CreateRecordNode,
28
+ CreateWorkFlow: () => CreateWorkFlow,
29
+ DeleteRecordNode: () => DeleteRecordNode,
30
+ EditWorkFlow: () => EditWorkFlow,
31
+ FormEventTriggerNode: () => FormEventTriggerNode,
32
+ ManualNode: () => ManualNode,
33
+ ParallelBranchNode: () => ParallelBranchNode,
34
+ QueryRecordNode: () => QueryRecordNode,
35
+ SQLNode: () => SQLNode,
36
+ ScheduleTriggerNode: () => ScheduleTriggerNode,
37
+ UpdateRecordNode: () => UpdateRecordNode,
38
+ WorkflowListRecords: () => WorkflowListRecords,
39
+ WorkflowManagement: () => WorkflowManagement,
40
+ default: () => e2ePageObjectModel_default
41
+ });
42
+ module.exports = __toCommonJS(e2ePageObjectModel_exports);
43
+ class CreateWorkFlow {
44
+ page;
45
+ name;
46
+ triggerType;
47
+ description;
48
+ autoDeleteHistory;
49
+ submitButton;
50
+ cancelButton;
51
+ constructor(page) {
52
+ this.page = page;
53
+ this.name = page.getByLabel("block-item-CollectionField-workflows-Name").getByRole("textbox");
54
+ this.triggerType = page.getByTestId("select-single");
55
+ this.description = page.getByTestId("description-item").getByRole("textbox");
56
+ this.autoDeleteHistory = page.getByTestId("select-multiple");
57
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
58
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
59
+ }
60
+ }
61
+ class EditWorkFlow {
62
+ page;
63
+ name;
64
+ statusIsOn;
65
+ statusIisOff;
66
+ description;
67
+ autoDeleteHistory;
68
+ submitButton;
69
+ cancelButton;
70
+ constructor(page, workFlowName) {
71
+ this.page = page;
72
+ this.name = page.getByLabel("block-item-CollectionField-workflows-Name").getByRole("textbox");
73
+ this.statusIsOn = page.getByLabel("On", { exact: true });
74
+ this.statusIisOff = page.getByLabel("Off");
75
+ this.description = page.getByTestId("description-item").getByRole("textbox");
76
+ this.autoDeleteHistory = page.getByTestId("deleteExecutionOnStatus-item").getByTestId("antd-select").locator("div").nth(1);
77
+ this.submitButton = page.getByLabel(`action-Action-Submit-workflows-${workFlowName}`);
78
+ this.cancelButton = page.getByLabel(`action-Action-Cancel-workflows-${workFlowName}`);
79
+ }
80
+ }
81
+ class WorkflowManagement {
82
+ page;
83
+ addNewButton;
84
+ deleteButton;
85
+ filterButton;
86
+ constructor(page) {
87
+ this.page = page;
88
+ this.addNewButton = page.getByLabel("action-Action-Add new-workflows");
89
+ this.deleteButton = page.getByLabel("action-Action-Delete-workflows");
90
+ this.filterButton = page.getByLabel("action-Filter.Action-Filter-filter-workflows");
91
+ }
92
+ }
93
+ class WorkflowListRecords {
94
+ page;
95
+ executionCountPopup;
96
+ configureAction;
97
+ editAction;
98
+ duplicateAction;
99
+ deleteAction;
100
+ constructor(page, workFlowName) {
101
+ this.page = page;
102
+ this.executionCountPopup = page.getByLabel(`executed-${workFlowName}`);
103
+ this.configureAction = page.getByLabel(`action-WorkflowLink-Configure-workflows-${workFlowName}`);
104
+ this.editAction = page.getByLabel(`action-Action.Link-Edit-workflows-${workFlowName}`);
105
+ this.duplicateAction = page.getByLabel(`action-Action.Link-Duplicate-workflows-${workFlowName}`);
106
+ this.deleteAction = page.getByLabel(`action-Action.Link-Delete-workflows-${workFlowName}`);
107
+ }
108
+ }
109
+ class ApprovalTriggerNode {
110
+ page;
111
+ node;
112
+ nodeTitle;
113
+ nodeConfigure;
114
+ collectionDropDown;
115
+ dataBlocksInitiationRadio;
116
+ dataBlocksAndGlobalApprovalBlocksInitiationRadio;
117
+ allowedToBeWithdrawnCheckbox;
118
+ goToconfigureButton;
119
+ addBlockButton;
120
+ addApplyFormMenu;
121
+ configureFieldsButton;
122
+ configureActionsButton;
123
+ saveDraftSwitch;
124
+ submitButton;
125
+ cancelButton;
126
+ addNodeButton;
127
+ constructor(page, triggerName, collectionName) {
128
+ this.page = page;
129
+ this.node = page.getByText("TriggeraConfigure");
130
+ this.nodeTitle = page.locator("textarea").filter({ hasText: triggerName });
131
+ this.nodeConfigure = page.getByRole("button", { name: "Configure" });
132
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
133
+ this.dataBlocksInitiationRadio = page.getByLabel("Initiate and approve in data blocks only");
134
+ this.dataBlocksAndGlobalApprovalBlocksInitiationRadio = page.getByLabel(
135
+ "Initiate and approve in both data blocks and global approval blocks"
136
+ );
137
+ this.allowedToBeWithdrawnCheckbox = page.getByLabel("Allowed to be withdrawn");
138
+ this.goToconfigureButton = page.getByRole("button", { name: "Go to configure" });
139
+ this.addBlockButton = page.getByLabel(`schema-initializer-Grid-ApprovalApplyAddBlockButton-${collectionName}`);
140
+ this.addApplyFormMenu = page.getByRole("menuitem", { name: "Apply form" });
141
+ this.configureFieldsButton = page.getByLabel(`schema-initializer-Grid-form:configureFields-${collectionName}`);
142
+ this.configureActionsButton = page.getByLabel(
143
+ `schema-initializer-ActionBar-ApprovalApplyAddActionButton-${collectionName}`
144
+ );
145
+ this.saveDraftSwitch = page.getByRole("menuitem", { name: "Save draft" }).getByRole("switch");
146
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
147
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
148
+ this.addNodeButton = this.addNodeButton = page.getByLabel("add-button", { exact: true });
149
+ }
150
+ }
151
+ class ApprovalPassthroughModeNode {
152
+ page;
153
+ node;
154
+ nodeTitle;
155
+ nodeConfigure;
156
+ addAssigneesButton;
157
+ assigneesDropDown;
158
+ OrRadio;
159
+ AndRadio;
160
+ votingRadio;
161
+ parallellyRadio;
162
+ sequentiallyRadio;
163
+ goToconfigureButton;
164
+ addBlockButton;
165
+ addDetailsMenu;
166
+ detailsConfigureFieldsButton;
167
+ addActionsMenu;
168
+ actionsConfigureFieldsButton;
169
+ actionsConfigureActionsButton;
170
+ addApproveButton;
171
+ addRejectButton;
172
+ addReturnButton;
173
+ addNodeResult;
174
+ submitButton;
175
+ cancelButton;
176
+ addNodeButton;
177
+ constructor(page, nodeName, collectionName) {
178
+ this.page = page;
179
+ this.node = page.getByLabel(`Approval-${nodeName}`, { exact: true });
180
+ this.nodeTitle = page.getByLabel(`Approval-${nodeName}`, { exact: true }).getByRole("textbox");
181
+ this.nodeConfigure = page.getByLabel(`Approval-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
182
+ this.addAssigneesButton = page.getByRole("button", { name: "plus Add assignee" });
183
+ this.assigneesDropDown = page.getByTestId("select-single");
184
+ this.OrRadio = page.getByLabel("Or", { exact: true });
185
+ this.AndRadio = page.getByLabel("And", { exact: true });
186
+ this.votingRadio = page.getByLabel("Voting", { exact: true });
187
+ this.parallellyRadio = page.getByLabel("Parallelly", { exact: true });
188
+ this.sequentiallyRadio = page.getByLabel("Sequentially", { exact: true });
189
+ this.goToconfigureButton = page.getByRole("button", { name: "Go to configure" });
190
+ this.addBlockButton = page.getByLabel("schema-initializer-Grid-ApprovalProcessAddBlockButton-workflows");
191
+ this.addDetailsMenu = page.getByRole("menuitem", { name: "Details" });
192
+ this.detailsConfigureFieldsButton = page.getByLabel(
193
+ `schema-initializer-Grid-ReadPrettyFormItemInitializers-${collectionName}`
194
+ );
195
+ this.addActionsMenu = page.getByRole("menuitem", { name: "Actions" }).getByRole("switch");
196
+ this.actionsConfigureFieldsButton = page.getByLabel("schema-initializer-Grid-FormItemInitializers-approvalRecords");
197
+ this.actionsConfigureActionsButton = page.getByLabel(
198
+ "schema-initializer-ActionBar-ApprovalProcessAddActionButton-approvalRecords"
199
+ );
200
+ this.addApproveButton = page.getByRole("menuitem", { name: "Approve" }).getByRole("switch");
201
+ this.addRejectButton = page.getByRole("menuitem", { name: "Reject" }).getByRole("switch");
202
+ this.addReturnButton = page.getByRole("menuitem", { name: "Return" }).getByRole("switch");
203
+ this.addNodeResult = page.getByRole("menuitem", { name: "Node result right" });
204
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
205
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
206
+ this.addNodeButton = page.getByLabel(`add-button-calculation-${nodeName}`, { exact: true });
207
+ }
208
+ }
209
+ class ScheduleTriggerNode {
210
+ page;
211
+ node;
212
+ nodeTitle;
213
+ nodeConfigure;
214
+ customTimeTriggerOptions;
215
+ startTimeEntryBox;
216
+ RrpeatModeDropdown;
217
+ dataTableTimeFieldOptions;
218
+ collectionDropDown;
219
+ startTimeDropdown;
220
+ submitButton;
221
+ cancelButton;
222
+ addNodeButton;
223
+ constructor(page, triggerName, collectionName) {
224
+ this.page = page;
225
+ this.node = page.getByText("TriggeraConfigure");
226
+ this.nodeTitle = page.locator("textarea").filter({ hasText: triggerName });
227
+ this.nodeConfigure = page.getByRole("button", { name: "Configure" });
228
+ this.customTimeTriggerOptions = page.getByLabel("Based on certain date");
229
+ this.startTimeEntryBox = page.getByPlaceholder("Select date");
230
+ this.RrpeatModeDropdown = page.getByLabel("block-item-RepeatField-workflows-Repeat mode");
231
+ this.dataTableTimeFieldOptions = page.getByLabel("Based on date field of collection");
232
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
233
+ this.startTimeDropdown = page.getByLabel("block-item-OnField-workflows-Starts on");
234
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
235
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
236
+ this.addNodeButton = page.getByLabel("add-button", { exact: true });
237
+ }
238
+ }
239
+ class CollectionTriggerNode {
240
+ page;
241
+ node;
242
+ nodeTitle;
243
+ nodeConfigure;
244
+ collectionDropDown;
245
+ triggerOnDropdown;
246
+ submitButton;
247
+ cancelButton;
248
+ addNodeButton;
249
+ constructor(page, triggerName, collectionName) {
250
+ this.page = page;
251
+ this.node = page.getByLabel(`Trigger-${triggerName}`);
252
+ this.nodeTitle = page.getByLabel(`Trigger-${triggerName}`).getByRole("textbox");
253
+ this.nodeConfigure = page.getByLabel(`Trigger-${triggerName}`).getByRole("button", { name: "Configure" });
254
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
255
+ this.triggerOnDropdown = page.getByLabel("block-item-Select-workflows-Trigger on").getByRole("button", { name: "Trigger on" });
256
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
257
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
258
+ this.addNodeButton = page.getByLabel("add-button", { exact: true });
259
+ }
260
+ }
261
+ class FormEventTriggerNode {
262
+ page;
263
+ node;
264
+ nodeTitle;
265
+ nodeConfigure;
266
+ collectionDropDown;
267
+ relationalDataDropdown;
268
+ submitButton;
269
+ cancelButton;
270
+ addNodeButton;
271
+ constructor(page, triggerName, collectionName) {
272
+ this.page = page;
273
+ this.node = page.getByLabel(`Trigger-${triggerName}`);
274
+ this.nodeTitle = page.getByLabel(`Trigger-${triggerName}`).getByRole("textbox");
275
+ this.nodeConfigure = page.getByLabel(`Trigger-${triggerName}`).getByRole("button", { name: "Configure" });
276
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
277
+ this.relationalDataDropdown = page.getByTestId("select-field-Preload associations");
278
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
279
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
280
+ this.addNodeButton = page.getByLabel("add-button", { exact: true });
281
+ }
282
+ }
283
+ class ClculationNode {
284
+ page;
285
+ node;
286
+ nodeTitle;
287
+ nodeConfigure;
288
+ mathCalculationEngine;
289
+ formulaCalculationEngine;
290
+ calculationExpression;
291
+ submitButton;
292
+ cancelButton;
293
+ addNodeButton;
294
+ constructor(page, nodeName) {
295
+ this.page = page;
296
+ this.node = page.getByLabel(`Calculation-${nodeName}`, { exact: true });
297
+ this.nodeTitle = page.getByLabel(`Calculation-${nodeName}`, { exact: true }).getByRole("textbox");
298
+ this.nodeConfigure = page.getByLabel(`Calculation-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
299
+ this.mathCalculationEngine = page.getByLabel("Math.js");
300
+ this.formulaCalculationEngine = page.getByLabel("Formula.js");
301
+ this.calculationExpression = page.getByLabel("textbox");
302
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
303
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
304
+ this.addNodeButton = page.getByLabel(`add-button-calculation-${nodeName}`, { exact: true });
305
+ }
306
+ }
307
+ class QueryRecordNode {
308
+ page;
309
+ node;
310
+ nodeTitle;
311
+ nodeConfigure;
312
+ collectionDropDown;
313
+ allowMultipleDataBoxesForResults;
314
+ addSortFieldsButton;
315
+ pageNumberEditBox;
316
+ pageNumberVariableButton;
317
+ pageSizeEditBox;
318
+ exitProcessOptionsBoxWithEmptyResult;
319
+ submitButton;
320
+ cancelButton;
321
+ addNodeButton;
322
+ constructor(page, nodeName) {
323
+ this.page = page;
324
+ this.node = page.getByLabel(`Query record-${nodeName}`, { exact: true });
325
+ this.nodeTitle = page.getByLabel(`Query record-${nodeName}`, { exact: true }).getByRole("textbox");
326
+ this.nodeConfigure = page.getByLabel(`Query record-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
327
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
328
+ this.allowMultipleDataBoxesForResults = page.getByLabel("Allow multiple records as");
329
+ this.addSortFieldsButton = page.getByRole("button", { name: "plus Add sort field" });
330
+ this.pageNumberEditBox = page.getByLabel("variable-constant");
331
+ this.pageNumberVariableButton = page.getByLabel("variable-button");
332
+ this.pageSizeEditBox = page.getByLabel("block-item-InputNumber-workflows-Page size").getByRole("spinbutton");
333
+ this.exitProcessOptionsBoxWithEmptyResult = page.getByLabel("Exit when query result is null");
334
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
335
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
336
+ this.addNodeButton = page.getByLabel(`add-button-query-${nodeName}`, { exact: true });
337
+ }
338
+ }
339
+ class CreateRecordNode {
340
+ page;
341
+ node;
342
+ nodeTitle;
343
+ nodeConfigure;
344
+ collectionDropDown;
345
+ addFieldsButton;
346
+ submitButton;
347
+ cancelButton;
348
+ addNodeButton;
349
+ constructor(page, nodeName) {
350
+ this.page = page;
351
+ this.node = page.getByLabel(`Create record-${nodeName}`, { exact: true });
352
+ this.nodeTitle = page.getByLabel(`Create record-${nodeName}`, { exact: true }).getByRole("textbox");
353
+ this.nodeConfigure = page.getByLabel(`Create record-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
354
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
355
+ this.addFieldsButton = page.getByRole("button", { name: "plus Add field" });
356
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
357
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
358
+ this.addNodeButton = page.getByLabel(`add-button-create-${nodeName}`, { exact: true });
359
+ }
360
+ }
361
+ class UpdateRecordNode {
362
+ page;
363
+ node;
364
+ nodeTitle;
365
+ nodeConfigure;
366
+ collectionDropDown;
367
+ batchUpdateModeRadio;
368
+ articleByArticleUpdateModeRadio;
369
+ addFieldsButton;
370
+ submitButton;
371
+ cancelButton;
372
+ addNodeButton;
373
+ constructor(page, nodeName) {
374
+ this.page = page;
375
+ this.node = page.getByLabel(`Update record-${nodeName}`, { exact: true });
376
+ this.nodeTitle = page.getByLabel(`Update record-${nodeName}`, { exact: true }).getByRole("textbox");
377
+ this.nodeConfigure = page.getByLabel(`Update record-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
378
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
379
+ this.batchUpdateModeRadio = page.getByLabel("block-item-IndividualHooksRadioWithTooltip-workflows-Update mode").getByLabel("Update in a batch");
380
+ this.articleByArticleUpdateModeRadio = page.getByLabel("block-item-IndividualHooksRadioWithTooltip-workflows-Update mode").getByLabel("Update one by one");
381
+ this.addFieldsButton = page.getByRole("button", { name: "plus Add field" });
382
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
383
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
384
+ this.addNodeButton = page.getByLabel(`add-button-update-${nodeName}`, { exact: true });
385
+ }
386
+ }
387
+ class DeleteRecordNode {
388
+ page;
389
+ node;
390
+ nodeTitle;
391
+ nodeConfigure;
392
+ collectionDropDown;
393
+ submitButton;
394
+ cancelButton;
395
+ addNodeButton;
396
+ constructor(page, nodeName) {
397
+ this.page = page;
398
+ this.node = page.getByLabel(`Delete record-${nodeName}`, { exact: true });
399
+ this.nodeTitle = page.getByLabel(`Delete record-${nodeName}`, { exact: true }).getByRole("textbox");
400
+ this.nodeConfigure = page.getByLabel(`Delete record-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
401
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Collection").locator(".ant-select-selection-search-input");
402
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
403
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
404
+ this.addNodeButton = page.getByLabel(`add-button-delete-${nodeName}`, { exact: true });
405
+ }
406
+ }
407
+ class AggregateNode {
408
+ page;
409
+ node;
410
+ nodeTitle;
411
+ nodeConfigure;
412
+ countRadio;
413
+ sumRadio;
414
+ avgRadio;
415
+ maxRadio;
416
+ minRadio;
417
+ dataTableDataRadio;
418
+ linkedDataTableDataRadio;
419
+ collectionDropDown;
420
+ aggregatedFieldDropDown;
421
+ distinctCheckBox;
422
+ submitButton;
423
+ cancelButton;
424
+ addNodeButton;
425
+ constructor(page, nodeName) {
426
+ this.page = page;
427
+ this.node = page.getByLabel(`Aggregate-${nodeName}`, { exact: true });
428
+ this.nodeTitle = page.getByLabel(`Aggregate-${nodeName}`, { exact: true }).getByRole("textbox");
429
+ this.nodeConfigure = page.getByLabel(`Aggregate-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
430
+ this.countRadio = page.getByLabel("COUNT");
431
+ this.sumRadio = page.getByLabel("SUM", { exact: true });
432
+ this.avgRadio = page.getByLabel("AVG", { exact: true });
433
+ this.maxRadio = page.getByLabel("MAX", { exact: true });
434
+ this.minRadio = page.getByLabel("MIN", { exact: true });
435
+ this.dataTableDataRadio = page.getByLabel("Data of collection");
436
+ this.linkedDataTableDataRadio = page.getByLabel("Data of associated collection");
437
+ this.collectionDropDown = page.getByLabel("block-item-DataSourceCollectionCascader-workflows-Data of collection").locator(".ant-select-selection-search-input");
438
+ this.aggregatedFieldDropDown = page.getByLabel("block-item-FieldsSelect-workflows-Field to aggregate").locator(".ant-select-selection-search-input");
439
+ this.distinctCheckBox = page.getByLabel("block-item-Checkbox-workflows-Distinct").locator('input.ant-checkbox-input[type="checkbox"]');
440
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
441
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
442
+ this.addNodeButton = page.getByLabel(`add-button-aggregate-${nodeName}`, { exact: true });
443
+ }
444
+ }
445
+ class ManualNode {
446
+ page;
447
+ node;
448
+ nodeTitle;
449
+ nodeConfigure;
450
+ assigneesDropDown;
451
+ configureUserInterfaceButton;
452
+ addBlockButton;
453
+ triggerDataMenu;
454
+ nodeDataMenu;
455
+ customFormMenu;
456
+ createRecordFormMenu;
457
+ updateRecordFormMenu;
458
+ submitButton;
459
+ cancelButton;
460
+ addNodeButton;
461
+ constructor(page, nodeName) {
462
+ this.page = page;
463
+ this.node = page.getByLabel(`Manual-${nodeName}`, { exact: true });
464
+ this.nodeTitle = page.getByLabel(`Manual-${nodeName}`, { exact: true }).getByRole("textbox");
465
+ this.nodeConfigure = page.getByLabel(`Manual-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
466
+ this.assigneesDropDown = page.getByTestId("select-single");
467
+ this.configureUserInterfaceButton = page.getByRole("button", { name: "Configure user interface" });
468
+ this.addBlockButton = page.getByLabel(
469
+ "schema-initializer-Grid-workflowManual:popup:configureUserInterface:addBlock-workflows"
470
+ );
471
+ this.triggerDataMenu = page.getByRole("menuitem", { name: "Trigger data" });
472
+ this.nodeDataMenu = page.getByRole("menuitem", { name: "Node result right" });
473
+ this.customFormMenu = page.getByRole("menuitem", { name: "Custom form" });
474
+ this.createRecordFormMenu = page.getByRole("menuitem", { name: "Create record form right" });
475
+ this.updateRecordFormMenu = page.getByRole("menuitem", { name: "Update record form right" });
476
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
477
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
478
+ this.addNodeButton = page.getByLabel(`add-button-manual-${nodeName}`, { exact: true });
479
+ }
480
+ }
481
+ class ConditionYesNode {
482
+ page;
483
+ node;
484
+ nodeTitle;
485
+ nodeConfigure;
486
+ basicRadio;
487
+ mathRadio;
488
+ formulaRadio;
489
+ conditionExpressionEditBox;
490
+ submitButton;
491
+ cancelButton;
492
+ addNodeButton;
493
+ constructor(page, nodeName) {
494
+ this.page = page;
495
+ this.node = page.getByLabel(`Condition-${nodeName}`, { exact: true });
496
+ this.nodeTitle = page.getByLabel(`Condition-${nodeName}`, { exact: true }).getByRole("textbox");
497
+ this.nodeConfigure = page.getByLabel(`Condition-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
498
+ this.conditionExpressionEditBox = page.getByLabel("textbox");
499
+ this.basicRadio = page.getByLabel("Basic");
500
+ this.mathRadio = page.getByLabel("Math.js");
501
+ this.formulaRadio = page.getByLabel("Formula.js");
502
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
503
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
504
+ this.addNodeButton = page.getByLabel(`add-button-condition-${nodeName}`, { exact: true });
505
+ }
506
+ }
507
+ class ConditionBranchNode {
508
+ page;
509
+ node;
510
+ nodeTitle;
511
+ nodeConfigure;
512
+ basicRadio;
513
+ mathRadio;
514
+ formulaRadio;
515
+ conditionExpressionEditBox;
516
+ submitButton;
517
+ cancelButton;
518
+ addNoBranchNode;
519
+ addYesBranchNode;
520
+ addNodeButton;
521
+ constructor(page, nodeName) {
522
+ this.page = page;
523
+ this.node = page.getByLabel(`Condition-${nodeName}`, { exact: true });
524
+ this.nodeTitle = page.getByLabel(`Condition-${nodeName}`, { exact: true }).getByRole("textbox");
525
+ this.nodeConfigure = page.getByLabel(`Condition-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
526
+ this.conditionExpressionEditBox = page.getByLabel("textbox");
527
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
528
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
529
+ this.addNodeButton = page.getByLabel(`add-button-condition-${nodeName}`, { exact: true });
530
+ this.basicRadio = page.getByLabel("Basic");
531
+ this.mathRadio = page.getByLabel("Math.js");
532
+ this.formulaRadio = page.getByLabel("Formula.js");
533
+ this.addNoBranchNode = page.getByLabel(`add-button-condition-${nodeName}-0`);
534
+ this.addYesBranchNode = page.getByLabel(`add-button-condition-${nodeName}-1`);
535
+ }
536
+ }
537
+ class SQLNode {
538
+ page;
539
+ node;
540
+ nodeTitle;
541
+ nodeConfigure;
542
+ sqlEditBox;
543
+ submitButton;
544
+ cancelButton;
545
+ addNodeButton;
546
+ constructor(page, nodeName) {
547
+ this.page = page;
548
+ this.node = page.getByLabel(`SQL action-${nodeName}`, { exact: true });
549
+ this.nodeTitle = page.getByLabel(`SQL action-${nodeName}`, { exact: true }).getByRole("textbox");
550
+ this.nodeConfigure = page.getByLabel(`SQL action-${nodeName}`, { exact: true }).getByRole("button", { name: "Configure" });
551
+ this.sqlEditBox = page.getByLabel("block-item-WorkflowVariableRawTextArea-workflows-SQL").getByRole("textbox");
552
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
553
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
554
+ this.addNodeButton = page.getByLabel(`add-button-sql-${nodeName}`, { exact: true });
555
+ }
556
+ }
557
+ class ParallelBranchNode {
558
+ page;
559
+ node;
560
+ nodeTitle;
561
+ nodeConfigure;
562
+ addBranchButton;
563
+ allSucceededRadio;
564
+ anySucceededRadio;
565
+ anySucceededOrFailedRadio;
566
+ submitButton;
567
+ cancelButton;
568
+ addNodeButton;
569
+ constructor(page, nodeName) {
570
+ this.page = page;
571
+ this.node = page.getByLabel(`Parallel branch-${nodeName}`, { exact: true });
572
+ this.nodeTitle = page.locator("textarea").filter({ hasText: nodeName });
573
+ this.nodeConfigure = page.getByLabel(`Parallel branch-${nodeName}`).getByRole("button", { name: "Configure" });
574
+ this.addBranchButton = page.getByLabel(`add-button-parallel-${nodeName}-add-branch`, { exact: true });
575
+ this.allSucceededRadio = page.getByLabel("All succeeded", { exact: true });
576
+ this.anySucceededRadio = page.getByLabel("Any succeeded", { exact: true });
577
+ this.anySucceededOrFailedRadio = page.getByLabel("Any succeeded or failed", { exact: true });
578
+ this.submitButton = page.getByLabel("action-Action-Submit-workflows");
579
+ this.cancelButton = page.getByLabel("action-Action-Cancel-workflows");
580
+ this.addNodeButton = page.getByLabel(`add-button-parallel-${nodeName}`, { exact: true });
581
+ }
582
+ }
583
+ var e2ePageObjectModel_default = module.exports = {
584
+ CreateWorkFlow,
585
+ EditWorkFlow,
586
+ WorkflowManagement,
587
+ WorkflowListRecords,
588
+ ApprovalTriggerNode,
589
+ ApprovalPassthroughModeNode,
590
+ ScheduleTriggerNode,
591
+ CollectionTriggerNode,
592
+ FormEventTriggerNode,
593
+ ClculationNode,
594
+ QueryRecordNode,
595
+ CreateRecordNode,
596
+ UpdateRecordNode,
597
+ DeleteRecordNode,
598
+ AggregateNode,
599
+ ManualNode,
600
+ ConditionYesNode,
601
+ ConditionBranchNode,
602
+ SQLNode,
603
+ ParallelBranchNode
604
+ };
605
+ // Annotate the CommonJS export names for ESM import in node:
606
+ 0 && (module.exports = {
607
+ AggregateNode,
608
+ ApprovalPassthroughModeNode,
609
+ ApprovalTriggerNode,
610
+ ClculationNode,
611
+ CollectionTriggerNode,
612
+ ConditionBranchNode,
613
+ ConditionYesNode,
614
+ CreateRecordNode,
615
+ CreateWorkFlow,
616
+ DeleteRecordNode,
617
+ EditWorkFlow,
618
+ FormEventTriggerNode,
619
+ ManualNode,
620
+ ParallelBranchNode,
621
+ QueryRecordNode,
622
+ SQLNode,
623
+ ScheduleTriggerNode,
624
+ UpdateRecordNode,
625
+ WorkflowListRecords,
626
+ WorkflowManagement
627
+ });
@@ -0,0 +1,42 @@
1
+ import { Page } from '@tachybase/test/e2e';
2
+ export declare const apiCreateWorkflow: (data: any) => Promise<any>;
3
+ export declare const apiUpdateWorkflow: (id: number, data: any) => Promise<any>;
4
+ export declare const apiDeleteWorkflow: (id: number) => Promise<any>;
5
+ export declare const apiGetWorkflow: (id: number) => Promise<any>;
6
+ export declare const apiUpdateWorkflowTrigger: (id: number, data: any) => Promise<any>;
7
+ export declare const apiCreateWorkflowNode: (workflowId: number, data: any) => Promise<any>;
8
+ export declare const apiGetWorkflowNode: (id: number) => Promise<any>;
9
+ export declare const apiUpdateWorkflowNode: (id: number, data: any) => Promise<any>;
10
+ export declare const apiGetWorkflowNodeExecutions: (id: number) => Promise<any>;
11
+ export declare const apiUpdateRecord: (collectionName: string, id: number, data: any) => Promise<any>;
12
+ export declare const apiGetRecord: (collectionName: string, id: number) => Promise<any>;
13
+ export declare const apiGetList: (collectionName: string) => Promise<any>;
14
+ export declare const apiFilterList: (collectionName: string, filter: string) => Promise<any>;
15
+ export declare const apiCreateRecordTriggerFormEvent: (collectionName: string, triggerWorkflows: string, data: any) => Promise<any>;
16
+ export declare const apiSubmitRecordTriggerFormEvent: (triggerWorkflows: string, data: any) => Promise<any>;
17
+ export declare const apiGetDataSourceCount: () => Promise<any>;
18
+ export declare const apiCreateRecordTriggerActionEvent: (collectionName: string, triggerWorkflows: string, data: any) => Promise<any>;
19
+ export declare const apiApplyApprovalEvent: (data: any) => Promise<any>;
20
+ export declare const userLogin: (page: Page, approvalUserEmail: string, approvalUser: string) => Promise<Page>;
21
+ declare const _default: {
22
+ apiCreateWorkflow: (data: any) => Promise<any>;
23
+ apiUpdateWorkflow: (id: number, data: any) => Promise<any>;
24
+ apiDeleteWorkflow: (id: number) => Promise<any>;
25
+ apiGetWorkflow: (id: number) => Promise<any>;
26
+ apiUpdateWorkflowTrigger: (id: number, data: any) => Promise<any>;
27
+ apiGetWorkflowNodeExecutions: (id: number) => Promise<any>;
28
+ apiCreateWorkflowNode: (workflowId: number, data: any) => Promise<any>;
29
+ apiUpdateWorkflowNode: (id: number, data: any) => Promise<any>;
30
+ apiGetWorkflowNode: (id: number) => Promise<any>;
31
+ apiUpdateRecord: (collectionName: string, id: number, data: any) => Promise<any>;
32
+ apiGetRecord: (collectionName: string, id: number) => Promise<any>;
33
+ apiGetList: (collectionName: string) => Promise<any>;
34
+ apiCreateRecordTriggerFormEvent: (collectionName: string, triggerWorkflows: string, data: any) => Promise<any>;
35
+ apiSubmitRecordTriggerFormEvent: (triggerWorkflows: string, data: any) => Promise<any>;
36
+ apiFilterList: (collectionName: string, filter: string) => Promise<any>;
37
+ apiGetDataSourceCount: () => Promise<any>;
38
+ apiCreateRecordTriggerActionEvent: (collectionName: string, triggerWorkflows: string, data: any) => Promise<any>;
39
+ apiApplyApprovalEvent: (data: any) => Promise<any>;
40
+ userLogin: (page: Page, approvalUserEmail: string, approvalUser: string) => Promise<Page>;
41
+ };
42
+ export default _default;