@open-mercato/core 0.4.5-develop-2e9903a57a → 0.4.5-develop-eeccf7adf4

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 (473) hide show
  1. package/package.json +2 -2
  2. package/dist/modules/auth/__integration__/TC-AUTH-001.spec.js +0 -9
  3. package/dist/modules/auth/__integration__/TC-AUTH-001.spec.js.map +0 -7
  4. package/dist/modules/auth/__integration__/TC-AUTH-002.spec.js +0 -22
  5. package/dist/modules/auth/__integration__/TC-AUTH-002.spec.js.map +0 -7
  6. package/dist/modules/auth/__integration__/TC-AUTH-003.spec.js +0 -21
  7. package/dist/modules/auth/__integration__/TC-AUTH-003.spec.js.map +0 -7
  8. package/dist/modules/auth/__integration__/TC-AUTH-004.spec.js +0 -15
  9. package/dist/modules/auth/__integration__/TC-AUTH-004.spec.js.map +0 -7
  10. package/dist/modules/auth/__integration__/TC-AUTH-005.spec.js +0 -11
  11. package/dist/modules/auth/__integration__/TC-AUTH-005.spec.js.map +0 -7
  12. package/dist/modules/auth/__integration__/TC-AUTH-006.spec.js +0 -11
  13. package/dist/modules/auth/__integration__/TC-AUTH-006.spec.js.map +0 -7
  14. package/dist/modules/auth/__integration__/TC-AUTH-007.spec.js +0 -14
  15. package/dist/modules/auth/__integration__/TC-AUTH-007.spec.js.map +0 -7
  16. package/dist/modules/auth/__integration__/TC-AUTH-008.spec.js +0 -26
  17. package/dist/modules/auth/__integration__/TC-AUTH-008.spec.js.map +0 -7
  18. package/dist/modules/auth/__integration__/TC-AUTH-009.spec.js +0 -16
  19. package/dist/modules/auth/__integration__/TC-AUTH-009.spec.js.map +0 -7
  20. package/dist/modules/auth/__integration__/TC-AUTH-010.spec.js +0 -32
  21. package/dist/modules/auth/__integration__/TC-AUTH-010.spec.js.map +0 -7
  22. package/dist/modules/auth/__integration__/TC-AUTH-011.spec.js +0 -26
  23. package/dist/modules/auth/__integration__/TC-AUTH-011.spec.js.map +0 -7
  24. package/dist/modules/auth/__integration__/TC-AUTH-012.spec.js +0 -30
  25. package/dist/modules/auth/__integration__/TC-AUTH-012.spec.js.map +0 -7
  26. package/dist/modules/auth/__integration__/TC-AUTH-013.spec.js +0 -41
  27. package/dist/modules/auth/__integration__/TC-AUTH-013.spec.js.map +0 -7
  28. package/dist/modules/auth/__integration__/TC-AUTH-014.spec.js +0 -25
  29. package/dist/modules/auth/__integration__/TC-AUTH-014.spec.js.map +0 -7
  30. package/dist/modules/auth/__integration__/TC-AUTH-015.spec.js +0 -20
  31. package/dist/modules/auth/__integration__/TC-AUTH-015.spec.js.map +0 -7
  32. package/dist/modules/auth/__integration__/TC-AUTH-016.spec.js +0 -76
  33. package/dist/modules/auth/__integration__/TC-AUTH-016.spec.js.map +0 -7
  34. package/dist/modules/catalog/__integration__/TC-CAT-001.spec.js +0 -20
  35. package/dist/modules/catalog/__integration__/TC-CAT-001.spec.js.map +0 -7
  36. package/dist/modules/catalog/__integration__/TC-CAT-002.spec.js +0 -12
  37. package/dist/modules/catalog/__integration__/TC-CAT-002.spec.js.map +0 -7
  38. package/dist/modules/catalog/__integration__/TC-CAT-003.spec.js +0 -28
  39. package/dist/modules/catalog/__integration__/TC-CAT-003.spec.js.map +0 -7
  40. package/dist/modules/catalog/__integration__/TC-CAT-004.spec.js +0 -33
  41. package/dist/modules/catalog/__integration__/TC-CAT-004.spec.js.map +0 -7
  42. package/dist/modules/catalog/__integration__/TC-CAT-005.spec.js +0 -30
  43. package/dist/modules/catalog/__integration__/TC-CAT-005.spec.js.map +0 -7
  44. package/dist/modules/catalog/__integration__/TC-CAT-006.spec.js +0 -31
  45. package/dist/modules/catalog/__integration__/TC-CAT-006.spec.js.map +0 -7
  46. package/dist/modules/catalog/__integration__/TC-CAT-007.spec.js +0 -31
  47. package/dist/modules/catalog/__integration__/TC-CAT-007.spec.js.map +0 -7
  48. package/dist/modules/catalog/__integration__/TC-CAT-008.spec.js +0 -65
  49. package/dist/modules/catalog/__integration__/TC-CAT-008.spec.js.map +0 -7
  50. package/dist/modules/catalog/__integration__/TC-CAT-009.spec.js +0 -31
  51. package/dist/modules/catalog/__integration__/TC-CAT-009.spec.js.map +0 -7
  52. package/dist/modules/catalog/__integration__/TC-CAT-010.spec.js +0 -28
  53. package/dist/modules/catalog/__integration__/TC-CAT-010.spec.js.map +0 -7
  54. package/dist/modules/catalog/__integration__/TC-CAT-011.spec.js +0 -34
  55. package/dist/modules/catalog/__integration__/TC-CAT-011.spec.js.map +0 -7
  56. package/dist/modules/catalog/__integration__/TC-CAT-012.spec.js +0 -27
  57. package/dist/modules/catalog/__integration__/TC-CAT-012.spec.js.map +0 -7
  58. package/dist/modules/core/__integration__/admin/TC-ADMIN-001.spec.js +0 -44
  59. package/dist/modules/core/__integration__/admin/TC-ADMIN-001.spec.js.map +0 -7
  60. package/dist/modules/core/__integration__/admin/TC-ADMIN-002.spec.js +0 -53
  61. package/dist/modules/core/__integration__/admin/TC-ADMIN-002.spec.js.map +0 -7
  62. package/dist/modules/core/__integration__/admin/TC-ADMIN-003.spec.js +0 -26
  63. package/dist/modules/core/__integration__/admin/TC-ADMIN-003.spec.js.map +0 -7
  64. package/dist/modules/core/__integration__/admin/TC-ADMIN-004.spec.js +0 -47
  65. package/dist/modules/core/__integration__/admin/TC-ADMIN-004.spec.js.map +0 -7
  66. package/dist/modules/core/__integration__/admin/TC-ADMIN-005.spec.js +0 -33
  67. package/dist/modules/core/__integration__/admin/TC-ADMIN-005.spec.js.map +0 -7
  68. package/dist/modules/core/__integration__/admin/TC-ADMIN-006.spec.js +0 -30
  69. package/dist/modules/core/__integration__/admin/TC-ADMIN-006.spec.js.map +0 -7
  70. package/dist/modules/core/__integration__/admin/TC-ADMIN-007.spec.js +0 -36
  71. package/dist/modules/core/__integration__/admin/TC-ADMIN-007.spec.js.map +0 -7
  72. package/dist/modules/core/__integration__/admin/TC-ADMIN-008.spec.js +0 -113
  73. package/dist/modules/core/__integration__/admin/TC-ADMIN-008.spec.js.map +0 -7
  74. package/dist/modules/core/__integration__/admin/TC-ADMIN-009.spec.js +0 -25
  75. package/dist/modules/core/__integration__/admin/TC-ADMIN-009.spec.js.map +0 -7
  76. package/dist/modules/core/__integration__/admin/TC-ADMIN-010.spec.js +0 -35
  77. package/dist/modules/core/__integration__/admin/TC-ADMIN-010.spec.js.map +0 -7
  78. package/dist/modules/core/__integration__/helpers/api.js +0 -64
  79. package/dist/modules/core/__integration__/helpers/api.js.map +0 -7
  80. package/dist/modules/core/__integration__/helpers/auth.js +0 -98
  81. package/dist/modules/core/__integration__/helpers/auth.js.map +0 -7
  82. package/dist/modules/core/__integration__/helpers/authUi.js +0 -31
  83. package/dist/modules/core/__integration__/helpers/authUi.js.map +0 -7
  84. package/dist/modules/core/__integration__/helpers/catalogFixtures.js +0 -49
  85. package/dist/modules/core/__integration__/helpers/catalogFixtures.js.map +0 -7
  86. package/dist/modules/core/__integration__/helpers/crmFixtures.js +0 -73
  87. package/dist/modules/core/__integration__/helpers/crmFixtures.js.map +0 -7
  88. package/dist/modules/core/__integration__/helpers/salesFixtures.js +0 -63
  89. package/dist/modules/core/__integration__/helpers/salesFixtures.js.map +0 -7
  90. package/dist/modules/core/__integration__/helpers/salesUi.js +0 -464
  91. package/dist/modules/core/__integration__/helpers/salesUi.js.map +0 -7
  92. package/dist/modules/core/__integration__/integration/TC-INT-001.spec.js +0 -26
  93. package/dist/modules/core/__integration__/integration/TC-INT-001.spec.js.map +0 -7
  94. package/dist/modules/core/__integration__/integration/TC-INT-002.spec.js +0 -60
  95. package/dist/modules/core/__integration__/integration/TC-INT-002.spec.js.map +0 -7
  96. package/dist/modules/core/__integration__/integration/TC-INT-003.spec.js +0 -36
  97. package/dist/modules/core/__integration__/integration/TC-INT-003.spec.js.map +0 -7
  98. package/dist/modules/core/__integration__/integration/TC-INT-004.spec.js +0 -74
  99. package/dist/modules/core/__integration__/integration/TC-INT-004.spec.js.map +0 -7
  100. package/dist/modules/core/__integration__/integration/TC-INT-005.spec.js +0 -21
  101. package/dist/modules/core/__integration__/integration/TC-INT-005.spec.js.map +0 -7
  102. package/dist/modules/customers/__integration__/TC-CRM-001.spec.js +0 -32
  103. package/dist/modules/customers/__integration__/TC-CRM-001.spec.js.map +0 -7
  104. package/dist/modules/customers/__integration__/TC-CRM-002.spec.js +0 -35
  105. package/dist/modules/customers/__integration__/TC-CRM-002.spec.js.map +0 -7
  106. package/dist/modules/customers/__integration__/TC-CRM-003.spec.js +0 -40
  107. package/dist/modules/customers/__integration__/TC-CRM-003.spec.js.map +0 -7
  108. package/dist/modules/customers/__integration__/TC-CRM-004.spec.js +0 -40
  109. package/dist/modules/customers/__integration__/TC-CRM-004.spec.js.map +0 -7
  110. package/dist/modules/customers/__integration__/TC-CRM-005.spec.js +0 -37
  111. package/dist/modules/customers/__integration__/TC-CRM-005.spec.js.map +0 -7
  112. package/dist/modules/customers/__integration__/TC-CRM-006.spec.js +0 -42
  113. package/dist/modules/customers/__integration__/TC-CRM-006.spec.js.map +0 -7
  114. package/dist/modules/customers/__integration__/TC-CRM-007.spec.js +0 -44
  115. package/dist/modules/customers/__integration__/TC-CRM-007.spec.js.map +0 -7
  116. package/dist/modules/customers/__integration__/TC-CRM-008.spec.js +0 -50
  117. package/dist/modules/customers/__integration__/TC-CRM-008.spec.js.map +0 -7
  118. package/dist/modules/customers/__integration__/TC-CRM-009.spec.js +0 -33
  119. package/dist/modules/customers/__integration__/TC-CRM-009.spec.js.map +0 -7
  120. package/dist/modules/customers/__integration__/TC-CRM-010.spec.js +0 -39
  121. package/dist/modules/customers/__integration__/TC-CRM-010.spec.js.map +0 -7
  122. package/dist/modules/customers/__integration__/TC-CRM-011.spec.js +0 -37
  123. package/dist/modules/customers/__integration__/TC-CRM-011.spec.js.map +0 -7
  124. package/dist/modules/customers/__integration__/TC-CRM-012.spec.js +0 -38
  125. package/dist/modules/customers/__integration__/TC-CRM-012.spec.js.map +0 -7
  126. package/dist/modules/customers/__integration__/TC-CRM-013.spec.js +0 -43
  127. package/dist/modules/customers/__integration__/TC-CRM-013.spec.js.map +0 -7
  128. package/dist/modules/customers/__integration__/TC-CRM-014.spec.js +0 -23
  129. package/dist/modules/customers/__integration__/TC-CRM-014.spec.js.map +0 -7
  130. package/dist/modules/customers/__integration__/TC-CRM-015.spec.js +0 -63
  131. package/dist/modules/customers/__integration__/TC-CRM-015.spec.js.map +0 -7
  132. package/dist/modules/customers/__integration__/TC-CRM-016.spec.js +0 -46
  133. package/dist/modules/customers/__integration__/TC-CRM-016.spec.js.map +0 -7
  134. package/dist/modules/customers/__integration__/TC-CRM-017.spec.js +0 -29
  135. package/dist/modules/customers/__integration__/TC-CRM-017.spec.js.map +0 -7
  136. package/dist/modules/customers/__integration__/TC-CRM-018.spec.js +0 -52
  137. package/dist/modules/customers/__integration__/TC-CRM-018.spec.js.map +0 -7
  138. package/dist/modules/customers/__integration__/TC-CRM-019.spec.js +0 -37
  139. package/dist/modules/customers/__integration__/TC-CRM-019.spec.js.map +0 -7
  140. package/dist/modules/customers/__integration__/TC-CRM-020.spec.js +0 -65
  141. package/dist/modules/customers/__integration__/TC-CRM-020.spec.js.map +0 -7
  142. package/dist/modules/progress/__integration__/TC-PROG-001.spec.js +0 -51
  143. package/dist/modules/progress/__integration__/TC-PROG-001.spec.js.map +0 -7
  144. package/dist/modules/resources/__integration__/TC-INT-007.spec.js +0 -88
  145. package/dist/modules/resources/__integration__/TC-INT-007.spec.js.map +0 -7
  146. package/dist/modules/resources/__integration__/helpers/resourcesFixtures.js +0 -45
  147. package/dist/modules/resources/__integration__/helpers/resourcesFixtures.js.map +0 -7
  148. package/dist/modules/sales/__integration__/TC-SALES-001.spec.js +0 -20
  149. package/dist/modules/sales/__integration__/TC-SALES-001.spec.js.map +0 -7
  150. package/dist/modules/sales/__integration__/TC-SALES-002.spec.js +0 -31
  151. package/dist/modules/sales/__integration__/TC-SALES-002.spec.js.map +0 -7
  152. package/dist/modules/sales/__integration__/TC-SALES-003.spec.js +0 -13
  153. package/dist/modules/sales/__integration__/TC-SALES-003.spec.js.map +0 -7
  154. package/dist/modules/sales/__integration__/TC-SALES-004.spec.js +0 -14
  155. package/dist/modules/sales/__integration__/TC-SALES-004.spec.js.map +0 -7
  156. package/dist/modules/sales/__integration__/TC-SALES-005.spec.js +0 -15
  157. package/dist/modules/sales/__integration__/TC-SALES-005.spec.js.map +0 -7
  158. package/dist/modules/sales/__integration__/TC-SALES-006.spec.js +0 -20
  159. package/dist/modules/sales/__integration__/TC-SALES-006.spec.js.map +0 -7
  160. package/dist/modules/sales/__integration__/TC-SALES-007.spec.js +0 -19
  161. package/dist/modules/sales/__integration__/TC-SALES-007.spec.js.map +0 -7
  162. package/dist/modules/sales/__integration__/TC-SALES-008.spec.js +0 -7
  163. package/dist/modules/sales/__integration__/TC-SALES-008.spec.js.map +0 -7
  164. package/dist/modules/sales/__integration__/TC-SALES-009.spec.js +0 -7
  165. package/dist/modules/sales/__integration__/TC-SALES-009.spec.js.map +0 -7
  166. package/dist/modules/sales/__integration__/TC-SALES-010.spec.js +0 -16
  167. package/dist/modules/sales/__integration__/TC-SALES-010.spec.js.map +0 -7
  168. package/dist/modules/sales/__integration__/TC-SALES-011.spec.js +0 -20
  169. package/dist/modules/sales/__integration__/TC-SALES-011.spec.js.map +0 -7
  170. package/dist/modules/sales/__integration__/TC-SALES-012.spec.js +0 -7
  171. package/dist/modules/sales/__integration__/TC-SALES-012.spec.js.map +0 -7
  172. package/dist/modules/sales/__integration__/TC-SALES-013.spec.js +0 -66
  173. package/dist/modules/sales/__integration__/TC-SALES-013.spec.js.map +0 -7
  174. package/dist/modules/sales/__integration__/TC-SALES-014.spec.js +0 -13
  175. package/dist/modules/sales/__integration__/TC-SALES-014.spec.js.map +0 -7
  176. package/dist/modules/sales/__integration__/TC-SALES-015.spec.js +0 -13
  177. package/dist/modules/sales/__integration__/TC-SALES-015.spec.js.map +0 -7
  178. package/dist/modules/sales/__integration__/TC-SALES-016.spec.js +0 -13
  179. package/dist/modules/sales/__integration__/TC-SALES-016.spec.js.map +0 -7
  180. package/dist/modules/sales/__integration__/TC-SALES-017.spec.js +0 -44
  181. package/dist/modules/sales/__integration__/TC-SALES-017.spec.js.map +0 -7
  182. package/dist/modules/sales/__integration__/TC-SALES-018.spec.js +0 -18
  183. package/dist/modules/sales/__integration__/TC-SALES-018.spec.js.map +0 -7
  184. package/dist/modules/sales/__integration__/TC-SALES-019.spec.js +0 -16
  185. package/dist/modules/sales/__integration__/TC-SALES-019.spec.js.map +0 -7
  186. package/dist/modules/sales/__integration__/TC-SALES-020.spec.js +0 -75
  187. package/dist/modules/sales/__integration__/TC-SALES-020.spec.js.map +0 -7
  188. package/dist/modules/staff/__integration__/TC-INT-006.spec.js +0 -64
  189. package/dist/modules/staff/__integration__/TC-INT-006.spec.js.map +0 -7
  190. package/dist/modules/translations/__integration__/TC-TRANS-001.spec.js +0 -48
  191. package/dist/modules/translations/__integration__/TC-TRANS-001.spec.js.map +0 -7
  192. package/dist/modules/translations/__integration__/TC-TRANS-002.spec.js +0 -94
  193. package/dist/modules/translations/__integration__/TC-TRANS-002.spec.js.map +0 -7
  194. package/dist/modules/translations/__integration__/TC-TRANS-003.spec.js +0 -61
  195. package/dist/modules/translations/__integration__/TC-TRANS-003.spec.js.map +0 -7
  196. package/dist/modules/translations/__integration__/TC-TRANS-004.spec.js +0 -52
  197. package/dist/modules/translations/__integration__/TC-TRANS-004.spec.js.map +0 -7
  198. package/dist/modules/translations/__integration__/TC-TRANS-005.spec.js +0 -106
  199. package/dist/modules/translations/__integration__/TC-TRANS-005.spec.js.map +0 -7
  200. package/dist/modules/translations/__integration__/TC-TRANS-006.spec.js +0 -94
  201. package/dist/modules/translations/__integration__/TC-TRANS-006.spec.js.map +0 -7
  202. package/dist/modules/translations/__integration__/TC-TRANS-007.spec.js +0 -62
  203. package/dist/modules/translations/__integration__/TC-TRANS-007.spec.js.map +0 -7
  204. package/dist/modules/translations/__integration__/TC-TRANS-008.spec.js +0 -168
  205. package/dist/modules/translations/__integration__/TC-TRANS-008.spec.js.map +0 -7
  206. package/dist/modules/translations/__integration__/helpers/translationFixtures.js +0 -63
  207. package/dist/modules/translations/__integration__/helpers/translationFixtures.js.map +0 -7
  208. package/dist/modules/workflows/__integration__/TC-WF-001.spec.js +0 -73
  209. package/dist/modules/workflows/__integration__/TC-WF-001.spec.js.map +0 -7
  210. package/src/__tests__/module-decoupling.test.ts +0 -356
  211. package/src/modules/api_keys/api/__tests__/keys.route.test.ts +0 -244
  212. package/src/modules/attachments/api/__tests__/attachments.api.test.ts +0 -240
  213. package/src/modules/attachments/components/__tests__/AttachmentContentPreview.test.tsx +0 -45
  214. package/src/modules/attachments/data/__tests__/entities-ocr.test.ts +0 -15
  215. package/src/modules/attachments/lib/__tests__/ocr-config.test.ts +0 -27
  216. package/src/modules/attachments/lib/__tests__/textExtraction.test.ts +0 -64
  217. package/src/modules/audit_logs/api/__tests__/access.route.test.ts +0 -118
  218. package/src/modules/audit_logs/api/__tests__/redo.route.test.ts +0 -131
  219. package/src/modules/audit_logs/api/__tests__/undo.route.test.ts +0 -103
  220. package/src/modules/audit_logs/services/__tests__/actionLogService.test.ts +0 -26
  221. package/src/modules/auth/__integration__/TC-AUTH-001.spec.ts +0 -13
  222. package/src/modules/auth/__integration__/TC-AUTH-002.spec.ts +0 -30
  223. package/src/modules/auth/__integration__/TC-AUTH-003.spec.ts +0 -28
  224. package/src/modules/auth/__integration__/TC-AUTH-004.spec.ts +0 -21
  225. package/src/modules/auth/__integration__/TC-AUTH-005.spec.ts +0 -17
  226. package/src/modules/auth/__integration__/TC-AUTH-006.spec.ts +0 -17
  227. package/src/modules/auth/__integration__/TC-AUTH-007.spec.ts +0 -19
  228. package/src/modules/auth/__integration__/TC-AUTH-008.spec.ts +0 -31
  229. package/src/modules/auth/__integration__/TC-AUTH-009.spec.ts +0 -22
  230. package/src/modules/auth/__integration__/TC-AUTH-010.spec.ts +0 -39
  231. package/src/modules/auth/__integration__/TC-AUTH-011.spec.ts +0 -35
  232. package/src/modules/auth/__integration__/TC-AUTH-012.spec.ts +0 -36
  233. package/src/modules/auth/__integration__/TC-AUTH-013.spec.ts +0 -48
  234. package/src/modules/auth/__integration__/TC-AUTH-014.spec.ts +0 -31
  235. package/src/modules/auth/__integration__/TC-AUTH-015.spec.ts +0 -28
  236. package/src/modules/auth/__integration__/TC-AUTH-016.spec.ts +0 -109
  237. package/src/modules/auth/__tests__/cli-rotate-encryption.test.ts +0 -97
  238. package/src/modules/auth/__tests__/cli-setup-acl.test.ts +0 -148
  239. package/src/modules/auth/api/__tests__/feature-check.test.ts +0 -65
  240. package/src/modules/auth/api/__tests__/login.test.ts +0 -47
  241. package/src/modules/auth/commands/__tests__/roles.custom-fields.test.ts +0 -126
  242. package/src/modules/auth/commands/__tests__/users.custom-fields.test.ts +0 -147
  243. package/src/modules/auth/lib/__tests__/rateLimitCheck.test.ts +0 -224
  244. package/src/modules/auth/services/__tests__/authService.test.ts +0 -32
  245. package/src/modules/auth/services/__tests__/rbacService.test.ts +0 -814
  246. package/src/modules/business_rules/api/__tests__/execute.route.test.ts +0 -311
  247. package/src/modules/business_rules/api/__tests__/logs-detail.route.test.ts +0 -181
  248. package/src/modules/business_rules/api/__tests__/logs.route.test.ts +0 -261
  249. package/src/modules/business_rules/api/__tests__/rules-detail.route.test.ts +0 -115
  250. package/src/modules/business_rules/api/__tests__/rules.route.test.ts +0 -746
  251. package/src/modules/business_rules/api/__tests__/sets-detail.route.test.ts +0 -169
  252. package/src/modules/business_rules/api/__tests__/sets-members.route.test.ts +0 -367
  253. package/src/modules/business_rules/api/__tests__/sets.route.test.ts +0 -361
  254. package/src/modules/business_rules/api/__tests__/test-helpers.ts +0 -42
  255. package/src/modules/business_rules/components/utils/__tests__/formHelpers.test.ts +0 -69
  256. package/src/modules/business_rules/data/__tests__/validators.test.ts +0 -637
  257. package/src/modules/business_rules/lib/__tests__/action-executor.test.ts +0 -728
  258. package/src/modules/business_rules/lib/__tests__/expression-evaluator.test.ts +0 -592
  259. package/src/modules/business_rules/lib/__tests__/rule-engine.test.ts +0 -805
  260. package/src/modules/business_rules/lib/__tests__/rule-evaluator.test.ts +0 -436
  261. package/src/modules/catalog/__integration__/TC-CAT-001.spec.ts +0 -32
  262. package/src/modules/catalog/__integration__/TC-CAT-002.spec.ts +0 -19
  263. package/src/modules/catalog/__integration__/TC-CAT-003.spec.ts +0 -39
  264. package/src/modules/catalog/__integration__/TC-CAT-004.spec.ts +0 -41
  265. package/src/modules/catalog/__integration__/TC-CAT-005.spec.ts +0 -37
  266. package/src/modules/catalog/__integration__/TC-CAT-006.spec.ts +0 -40
  267. package/src/modules/catalog/__integration__/TC-CAT-007.spec.ts +0 -37
  268. package/src/modules/catalog/__integration__/TC-CAT-008.spec.ts +0 -76
  269. package/src/modules/catalog/__integration__/TC-CAT-009.spec.ts +0 -39
  270. package/src/modules/catalog/__integration__/TC-CAT-010.spec.ts +0 -36
  271. package/src/modules/catalog/__integration__/TC-CAT-011.spec.ts +0 -44
  272. package/src/modules/catalog/__integration__/TC-CAT-012.spec.ts +0 -35
  273. package/src/modules/catalog/api/__tests__/offers.route.test.ts +0 -161
  274. package/src/modules/catalog/api/__tests__/prices.route.test.ts +0 -39
  275. package/src/modules/catalog/api/__tests__/products.route.test.ts +0 -91
  276. package/src/modules/catalog/api/__tests__/utils.test.ts +0 -36
  277. package/src/modules/catalog/api/__tests__/variants.route.test.ts +0 -44
  278. package/src/modules/catalog/backend/catalog/products/__tests__/ProductsDataTable.test.tsx +0 -172
  279. package/src/modules/catalog/commands/__tests__/products.delete.test.ts +0 -146
  280. package/src/modules/catalog/commands/__tests__/products.update.test.ts +0 -142
  281. package/src/modules/catalog/commands/__tests__/registration.test.ts +0 -54
  282. package/src/modules/catalog/commands/__tests__/shared.test.ts +0 -129
  283. package/src/modules/catalog/components/__tests__/catalogComponentsRender.test.tsx +0 -373
  284. package/src/modules/catalog/components/products/__tests__/ProductImageCell.test.tsx +0 -51
  285. package/src/modules/catalog/components/products/__tests__/productForm.test.ts +0 -32
  286. package/src/modules/catalog/lib/__tests__/pricing.test.ts +0 -150
  287. package/src/modules/catalog/services/__tests__/catalogPricingService.test.ts +0 -21
  288. package/src/modules/configs/components/__tests__/CachePanel.test.tsx +0 -134
  289. package/src/modules/configs/components/__tests__/SystemStatusPanel.test.tsx +0 -93
  290. package/src/modules/configs/lib/__tests__/system-status.test.ts +0 -55
  291. package/src/modules/configs/lib/__tests__/upgrade-actions.test.ts +0 -135
  292. package/src/modules/core/__integration__/admin/TC-ADMIN-001.spec.ts +0 -70
  293. package/src/modules/core/__integration__/admin/TC-ADMIN-002.spec.ts +0 -83
  294. package/src/modules/core/__integration__/admin/TC-ADMIN-003.spec.ts +0 -50
  295. package/src/modules/core/__integration__/admin/TC-ADMIN-004.spec.ts +0 -77
  296. package/src/modules/core/__integration__/admin/TC-ADMIN-005.spec.ts +0 -49
  297. package/src/modules/core/__integration__/admin/TC-ADMIN-006.spec.ts +0 -59
  298. package/src/modules/core/__integration__/admin/TC-ADMIN-007.spec.ts +0 -68
  299. package/src/modules/core/__integration__/admin/TC-ADMIN-008.spec.ts +0 -127
  300. package/src/modules/core/__integration__/admin/TC-ADMIN-009.spec.ts +0 -48
  301. package/src/modules/core/__integration__/admin/TC-ADMIN-010.spec.ts +0 -57
  302. package/src/modules/core/__integration__/helpers/api.ts +0 -84
  303. package/src/modules/core/__integration__/helpers/auth.ts +0 -110
  304. package/src/modules/core/__integration__/helpers/authUi.ts +0 -33
  305. package/src/modules/core/__integration__/helpers/catalogFixtures.ts +0 -73
  306. package/src/modules/core/__integration__/helpers/crmFixtures.ts +0 -101
  307. package/src/modules/core/__integration__/helpers/salesFixtures.ts +0 -89
  308. package/src/modules/core/__integration__/helpers/salesUi.ts +0 -528
  309. package/src/modules/core/__integration__/integration/TC-INT-001.spec.ts +0 -34
  310. package/src/modules/core/__integration__/integration/TC-INT-002.spec.ts +0 -74
  311. package/src/modules/core/__integration__/integration/TC-INT-003.spec.ts +0 -43
  312. package/src/modules/core/__integration__/integration/TC-INT-004.spec.ts +0 -82
  313. package/src/modules/core/__integration__/integration/TC-INT-005.spec.ts +0 -29
  314. package/src/modules/currencies/backend/exchange-rates/__tests__/formatDateTimeLocal.test.ts +0 -78
  315. package/src/modules/currencies/data/__tests__/validators.test.ts +0 -100
  316. package/src/modules/currencies/services/__tests__/exchangeRateService.test.ts +0 -666
  317. package/src/modules/currencies/services/__tests__/rateFetchingService.basic.test.ts +0 -398
  318. package/src/modules/currencies/services/__tests__/rateFetchingService.errors.test.ts +0 -296
  319. package/src/modules/currencies/services/__tests__/rateFetchingService.providers.test.ts +0 -350
  320. package/src/modules/currencies/services/__tests__/rateFetchingService.setup.ts +0 -188
  321. package/src/modules/customers/__integration__/TC-CRM-001.spec.ts +0 -42
  322. package/src/modules/customers/__integration__/TC-CRM-002.spec.ts +0 -47
  323. package/src/modules/customers/__integration__/TC-CRM-003.spec.ts +0 -55
  324. package/src/modules/customers/__integration__/TC-CRM-004.spec.ts +0 -57
  325. package/src/modules/customers/__integration__/TC-CRM-005.spec.ts +0 -50
  326. package/src/modules/customers/__integration__/TC-CRM-006.spec.ts +0 -60
  327. package/src/modules/customers/__integration__/TC-CRM-007.spec.ts +0 -57
  328. package/src/modules/customers/__integration__/TC-CRM-008.spec.ts +0 -62
  329. package/src/modules/customers/__integration__/TC-CRM-009.spec.ts +0 -46
  330. package/src/modules/customers/__integration__/TC-CRM-010.spec.ts +0 -49
  331. package/src/modules/customers/__integration__/TC-CRM-011.spec.ts +0 -47
  332. package/src/modules/customers/__integration__/TC-CRM-012.spec.ts +0 -49
  333. package/src/modules/customers/__integration__/TC-CRM-013.spec.ts +0 -61
  334. package/src/modules/customers/__integration__/TC-CRM-014.spec.ts +0 -31
  335. package/src/modules/customers/__integration__/TC-CRM-015.spec.ts +0 -89
  336. package/src/modules/customers/__integration__/TC-CRM-016.spec.ts +0 -55
  337. package/src/modules/customers/__integration__/TC-CRM-017.spec.ts +0 -37
  338. package/src/modules/customers/__integration__/TC-CRM-018.spec.ts +0 -62
  339. package/src/modules/customers/__integration__/TC-CRM-019.spec.ts +0 -44
  340. package/src/modules/customers/__integration__/TC-CRM-020.spec.ts +0 -73
  341. package/src/modules/customers/api/__tests__/utils.test.ts +0 -61
  342. package/src/modules/customers/api/dashboard/widgets/new-deals/__tests__/route.test.ts +0 -54
  343. package/src/modules/customers/commands/__tests__/shared.test.ts +0 -263
  344. package/src/modules/customers/commands/__tests__/undo.custom-fields.test.ts +0 -1184
  345. package/src/modules/customers/components/detail/__tests__/ActivityForm.validation.test.ts +0 -37
  346. package/src/modules/customers/components/detail/__tests__/DealForm.validation.test.ts +0 -45
  347. package/src/modules/customers/components/detail/__tests__/InlineEditors.test.tsx +0 -166
  348. package/src/modules/customers/components/detail/__tests__/TaskForm.submit.test.ts +0 -21
  349. package/src/modules/customers/components/detail/hooks/__tests__/useCustomerDictionary.test.ts +0 -97
  350. package/src/modules/customers/lib/__tests__/customFieldRouting.test.ts +0 -107
  351. package/src/modules/customers/utils/__tests__/addressFormat.test.ts +0 -105
  352. package/src/modules/customers/utils/__tests__/phoneDuplicates.test.ts +0 -98
  353. package/src/modules/dashboards/__tests__/widgets.test.ts +0 -70
  354. package/src/modules/dashboards/lib/__tests__/aggregations.test.ts +0 -328
  355. package/src/modules/dashboards/lib/__tests__/formatters.test.ts +0 -128
  356. package/src/modules/directory/backend/directory/organizations/__tests__/create-submit.test.ts +0 -46
  357. package/src/modules/directory/backend/directory/organizations/__tests__/edit-submit.test.ts +0 -49
  358. package/src/modules/directory/components/__tests__/OrganizationSelect.test.tsx +0 -71
  359. package/src/modules/directory/components/__tests__/TenantSelect.test.tsx +0 -75
  360. package/src/modules/entities/__tests__/cli-decrypt-database.test.ts +0 -534
  361. package/src/modules/entities/__tests__/cli-rotate-encryption.test.ts +0 -123
  362. package/src/modules/entities/api/__tests__/encryption.api.test.ts +0 -57
  363. package/src/modules/entities/api/__tests__/records.get.custom-entity.test.ts +0 -43
  364. package/src/modules/entities/api/__tests__/records.validation.test.ts +0 -53
  365. package/src/modules/entities/backend/entities/user/__tests__/create-entity-submit.test.ts +0 -47
  366. package/src/modules/entities/backend/entities/user/__tests__/records-submit.test.ts +0 -104
  367. package/src/modules/feature_toggles/commands/__tests__/global.test.ts +0 -325
  368. package/src/modules/feature_toggles/commands/__tests__/overrides.test.ts +0 -186
  369. package/src/modules/feature_toggles/lib/__tests__/feature-flag-check.test.ts +0 -365
  370. package/src/modules/feature_toggles/lib/__tests__/queries.test.ts +0 -130
  371. package/src/modules/inbox_ops/api/emails/[id]/reprocess/__tests__/route.test.ts +0 -194
  372. package/src/modules/inbox_ops/api/proposals/[id]/__tests__/route.test.ts +0 -124
  373. package/src/modules/inbox_ops/api/proposals/[id]/accept-all/__tests__/route.test.ts +0 -154
  374. package/src/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/__tests__/route.test.ts +0 -200
  375. package/src/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/accept/__tests__/route.test.ts +0 -261
  376. package/src/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/reject/__tests__/route.test.ts +0 -201
  377. package/src/modules/inbox_ops/api/proposals/[id]/reject/__tests__/route.test.ts +0 -123
  378. package/src/modules/inbox_ops/api/proposals/[id]/replies/[replyId]/send/__tests__/route.test.ts +0 -232
  379. package/src/modules/inbox_ops/api/proposals/[id]/translate/__tests__/route.test.ts +0 -173
  380. package/src/modules/inbox_ops/api/proposals/__tests__/route.test.ts +0 -185
  381. package/src/modules/inbox_ops/api/webhook/__tests__/inbound.test.ts +0 -317
  382. package/src/modules/inbox_ops/data/__tests__/validators.test.ts +0 -463
  383. package/src/modules/inbox_ops/lib/__tests__/catalogLookup.test.ts +0 -143
  384. package/src/modules/inbox_ops/lib/__tests__/contactMatcher.test.ts +0 -158
  385. package/src/modules/inbox_ops/lib/__tests__/emailParser.test.ts +0 -191
  386. package/src/modules/inbox_ops/lib/__tests__/executionEngine.test.ts +0 -1419
  387. package/src/modules/inbox_ops/lib/__tests__/extractionPrompt.test.ts +0 -151
  388. package/src/modules/inbox_ops/lib/__tests__/priceValidator.test.ts +0 -259
  389. package/src/modules/inbox_ops/lib/__tests__/translationProvider.test.ts +0 -99
  390. package/src/modules/inbox_ops/subscribers/__tests__/extractionWorker.test.ts +0 -803
  391. package/src/modules/notifications/__tests__/deliver-notification.test.ts +0 -285
  392. package/src/modules/notifications/__tests__/deliveryStrategies.test.ts +0 -19
  393. package/src/modules/notifications/__tests__/notificationService.test.ts +0 -248
  394. package/src/modules/planner/__tests__/availabilityMerge.test.ts +0 -99
  395. package/src/modules/planner/__tests__/plannerAvailabilityService.test.ts +0 -89
  396. package/src/modules/planner/data/__tests__/validators.test.ts +0 -78
  397. package/src/modules/progress/__integration__/TC-PROG-001.spec.ts +0 -67
  398. package/src/modules/progress/__tests__/progressService.test.ts +0 -377
  399. package/src/modules/query_index/__tests__/hybrid-engine.test.ts +0 -365
  400. package/src/modules/query_index/__tests__/indexer.test.ts +0 -175
  401. package/src/modules/resources/__integration__/TC-INT-007.spec.ts +0 -110
  402. package/src/modules/resources/__integration__/helpers/resourcesFixtures.ts +0 -50
  403. package/src/modules/resources/data/__tests__/validators.test.ts +0 -65
  404. package/src/modules/sales/__integration__/TC-SALES-001.spec.ts +0 -26
  405. package/src/modules/sales/__integration__/TC-SALES-002.spec.ts +0 -38
  406. package/src/modules/sales/__integration__/TC-SALES-003.spec.ts +0 -18
  407. package/src/modules/sales/__integration__/TC-SALES-004.spec.ts +0 -19
  408. package/src/modules/sales/__integration__/TC-SALES-005.spec.ts +0 -21
  409. package/src/modules/sales/__integration__/TC-SALES-006.spec.ts +0 -26
  410. package/src/modules/sales/__integration__/TC-SALES-007.spec.ts +0 -23
  411. package/src/modules/sales/__integration__/TC-SALES-008.spec.ts +0 -11
  412. package/src/modules/sales/__integration__/TC-SALES-009.spec.ts +0 -12
  413. package/src/modules/sales/__integration__/TC-SALES-010.spec.ts +0 -20
  414. package/src/modules/sales/__integration__/TC-SALES-011.spec.ts +0 -26
  415. package/src/modules/sales/__integration__/TC-SALES-012.spec.ts +0 -12
  416. package/src/modules/sales/__integration__/TC-SALES-013.spec.ts +0 -73
  417. package/src/modules/sales/__integration__/TC-SALES-014.spec.ts +0 -17
  418. package/src/modules/sales/__integration__/TC-SALES-015.spec.ts +0 -17
  419. package/src/modules/sales/__integration__/TC-SALES-016.spec.ts +0 -17
  420. package/src/modules/sales/__integration__/TC-SALES-017.spec.ts +0 -60
  421. package/src/modules/sales/__integration__/TC-SALES-018.spec.ts +0 -25
  422. package/src/modules/sales/__integration__/TC-SALES-019.spec.ts +0 -22
  423. package/src/modules/sales/__integration__/TC-SALES-020.spec.ts +0 -107
  424. package/src/modules/sales/api/__tests__/channels.route.test.ts +0 -50
  425. package/src/modules/sales/api/__tests__/document-history.test.ts +0 -146
  426. package/src/modules/sales/api/__tests__/documents.factory.test.ts +0 -98
  427. package/src/modules/sales/api/__tests__/documents.routes.test.ts +0 -149
  428. package/src/modules/sales/api/__tests__/quotes.acceptance.test.ts +0 -209
  429. package/src/modules/sales/api/__tests__/timeline.test.tsx +0 -165
  430. package/src/modules/sales/api/dashboard/widgets/new-orders/__tests__/route.test.ts +0 -112
  431. package/src/modules/sales/api/dashboard/widgets/new-quotes/__tests__/route.test.ts +0 -116
  432. package/src/modules/sales/commands/__tests__/documents.cache.test.ts +0 -126
  433. package/src/modules/sales/commands/__tests__/documents.undo.test.ts +0 -170
  434. package/src/modules/sales/commands/__tests__/registration.test.ts +0 -141
  435. package/src/modules/sales/components/__tests__/salesComponentsRender.test.tsx +0 -456
  436. package/src/modules/sales/lib/__tests__/calculations.test.ts +0 -210
  437. package/src/modules/sales/services/__tests__/salesCalculationService.test.ts +0 -181
  438. package/src/modules/sales/services/__tests__/taxCalculationService.test.ts +0 -79
  439. package/src/modules/sales/widgets/dashboard/new-orders/__tests__/config.test.ts +0 -47
  440. package/src/modules/sales/widgets/dashboard/new-quotes/__tests__/config.test.ts +0 -47
  441. package/src/modules/staff/__integration__/TC-INT-006.spec.ts +0 -71
  442. package/src/modules/staff/data/__tests__/validators.test.ts +0 -60
  443. package/src/modules/translations/__integration__/TC-TRANS-001.spec.ts +0 -57
  444. package/src/modules/translations/__integration__/TC-TRANS-002.spec.ts +0 -114
  445. package/src/modules/translations/__integration__/TC-TRANS-003.spec.ts +0 -71
  446. package/src/modules/translations/__integration__/TC-TRANS-004.spec.ts +0 -66
  447. package/src/modules/translations/__integration__/TC-TRANS-005.spec.ts +0 -135
  448. package/src/modules/translations/__integration__/TC-TRANS-006.spec.ts +0 -113
  449. package/src/modules/translations/__integration__/TC-TRANS-007.spec.ts +0 -80
  450. package/src/modules/translations/__integration__/TC-TRANS-008.spec.ts +0 -209
  451. package/src/modules/translations/__integration__/helpers/translationFixtures.ts +0 -95
  452. package/src/modules/translations/api/__tests__/locales.test.ts +0 -67
  453. package/src/modules/translations/data/__tests__/validators.test.ts +0 -143
  454. package/src/modules/translations/lib/__tests__/extract-record-id.test.ts +0 -75
  455. package/src/modules/translations/lib/__tests__/helpers.test.ts +0 -215
  456. package/src/modules/translations/lib/__tests__/locale.test.ts +0 -115
  457. package/src/modules/translations/lib/__tests__/resolve-field-list.test.ts +0 -176
  458. package/src/modules/translations/lib/__tests__/translatable-fields.test.ts +0 -79
  459. package/src/modules/translations/widgets/__tests__/injection-table.test.ts +0 -83
  460. package/src/modules/workflows/__integration__/TC-WF-001.spec.ts +0 -114
  461. package/src/modules/workflows/api/__tests__/definitions.route.test.ts +0 -762
  462. package/src/modules/workflows/api/__tests__/instances.route.test.ts +0 -869
  463. package/src/modules/workflows/data/__tests__/validators.test.ts +0 -707
  464. package/src/modules/workflows/lib/__tests__/activity-executor.test.ts +0 -1230
  465. package/src/modules/workflows/lib/__tests__/call-api.test.ts +0 -421
  466. package/src/modules/workflows/lib/__tests__/compensation.test.ts +0 -713
  467. package/src/modules/workflows/lib/__tests__/event-logger.test.ts +0 -615
  468. package/src/modules/workflows/lib/__tests__/integration.test.ts +0 -693
  469. package/src/modules/workflows/lib/__tests__/signals.test.ts +0 -566
  470. package/src/modules/workflows/lib/__tests__/step-handler.test.ts +0 -670
  471. package/src/modules/workflows/lib/__tests__/sub-workflow.test.ts +0 -934
  472. package/src/modules/workflows/lib/__tests__/transition-handler.test.ts +0 -925
  473. package/src/modules/workflows/lib/__tests__/workflow-executor.test.ts +0 -684
@@ -1,670 +0,0 @@
1
- import { describe, test, expect, jest, beforeEach } from '@jest/globals'
2
- import type { EntityManager } from '@mikro-orm/core'
3
- import * as stepHandler from '../step-handler'
4
- import type {
5
- WorkflowDefinition,
6
- WorkflowInstance,
7
- StepInstance,
8
- UserTask,
9
- } from '../../data/entities'
10
-
11
- describe('Step Handler (Unit Tests)', () => {
12
- let mockEm: jest.Mocked<EntityManager>
13
-
14
- const testTenantId = '00000000-0000-4000-8000-000000000001'
15
- const testOrgId = '00000000-0000-4000-8000-000000000002'
16
- const testDefinitionId = '00000000-0000-4000-8000-000000000003'
17
- const testInstanceId = '00000000-0000-4000-8000-000000000004'
18
-
19
- // Mock workflow definition with multiple step types
20
- const mockDefinition: Partial<WorkflowDefinition> = {
21
- id: testDefinitionId,
22
- workflowId: 'test-workflow',
23
- workflowName: 'Test Workflow',
24
- version: 1,
25
- enabled: true,
26
- definition: {
27
- steps: [
28
- {
29
- stepId: 'start',
30
- stepName: 'Start',
31
- stepType: 'START',
32
- },
33
- {
34
- stepId: 'automated-step',
35
- stepName: 'Automated Step',
36
- stepType: 'AUTOMATED',
37
- description: 'An automated step',
38
- },
39
- {
40
- stepId: 'user-task-step',
41
- stepName: 'User Task Step',
42
- stepType: 'USER_TASK',
43
- description: 'A user task',
44
- userTaskConfig: {
45
- formSchema: {
46
- fields: [
47
- { name: 'approved', type: 'boolean', label: 'Approved', required: true },
48
- ],
49
- },
50
- assignedTo: 'manager@example.com',
51
- slaDuration: 'P1D',
52
- },
53
- },
54
- {
55
- stepId: 'end',
56
- stepName: 'End',
57
- stepType: 'END',
58
- },
59
- ],
60
- transitions: [],
61
- },
62
- tenantId: testTenantId,
63
- organizationId: testOrgId,
64
- }
65
-
66
- const mockInstance: Partial<WorkflowInstance> = {
67
- id: testInstanceId,
68
- definitionId: testDefinitionId,
69
- workflowId: 'test-workflow',
70
- version: 1,
71
- status: 'RUNNING',
72
- currentStepId: 'start',
73
- context: { orderId: '12345' },
74
- tenantId: testTenantId,
75
- organizationId: testOrgId,
76
- startedAt: new Date(),
77
- }
78
-
79
- beforeEach(() => {
80
- // Create mock EntityManager
81
- mockEm = {
82
- findOne: jest.fn(),
83
- find: jest.fn(),
84
- create: jest.fn(),
85
- persistAndFlush: jest.fn(),
86
- flush: jest.fn(),
87
- nativeDelete: jest.fn(),
88
- } as any
89
-
90
- // Reset all mocks
91
- jest.clearAllMocks()
92
- })
93
-
94
- // ============================================================================
95
- // enterStep() Tests
96
- // ============================================================================
97
-
98
- describe('enterStep', () => {
99
- test('should create step instance when entering a step', async () => {
100
- mockEm.findOne.mockResolvedValue(mockDefinition as WorkflowDefinition)
101
-
102
- const mockStepInstance = {
103
- id: 'step-instance-1',
104
- workflowInstanceId: testInstanceId,
105
- stepId: 'automated-step',
106
- stepName: 'Automated Step',
107
- stepType: 'AUTOMATED',
108
- status: 'ACTIVE',
109
- enteredAt: expect.any(Date),
110
- tenantId: testTenantId,
111
- organizationId: testOrgId,
112
- retryCount: 0,
113
- createdAt: new Date(),
114
- updatedAt: new Date(),
115
- } as unknown as StepInstance
116
-
117
- mockEm.create.mockReturnValue(mockStepInstance)
118
-
119
- const stepInstance = await stepHandler.enterStep(
120
- mockEm,
121
- mockInstance as WorkflowInstance,
122
- 'automated-step',
123
- { workflowContext: { orderId: '12345' } }
124
- )
125
-
126
- expect(stepInstance).toBeDefined()
127
- expect(stepInstance.stepId).toBe('automated-step')
128
- expect(stepInstance.stepName).toBe('Automated Step')
129
- expect(stepInstance.stepType).toBe('AUTOMATED')
130
- expect(stepInstance.status).toBe('ACTIVE')
131
- expect(mockEm.create).toHaveBeenCalled()
132
- expect(mockEm.persistAndFlush).toHaveBeenCalledWith(mockStepInstance)
133
- })
134
-
135
- test('should throw error if definition not found', async () => {
136
- mockEm.findOne.mockResolvedValue(null)
137
-
138
- await expect(
139
- stepHandler.enterStep(
140
- mockEm,
141
- mockInstance as WorkflowInstance,
142
- 'automated-step',
143
- { workflowContext: {} }
144
- )
145
- ).rejects.toThrow('Workflow definition not found')
146
- })
147
-
148
- test('should throw error if step not found in definition', async () => {
149
- mockEm.findOne.mockResolvedValue(mockDefinition as WorkflowDefinition)
150
-
151
- await expect(
152
- stepHandler.enterStep(
153
- mockEm,
154
- mockInstance as WorkflowInstance,
155
- 'non-existent-step',
156
- { workflowContext: {} }
157
- )
158
- ).rejects.toThrow('Step not found in workflow definition')
159
- })
160
-
161
- test('should support trigger data as input', async () => {
162
- mockEm.findOne.mockResolvedValue(mockDefinition as WorkflowDefinition)
163
-
164
- const mockStepInstance = {
165
- id: 'step-instance-1',
166
- workflowInstanceId: testInstanceId,
167
- stepId: 'automated-step',
168
- stepName: 'Automated Step',
169
- stepType: 'AUTOMATED',
170
- status: 'ACTIVE',
171
- inputData: { trigger: 'manual', userId: 'user-123' },
172
- tenantId: testTenantId,
173
- organizationId: testOrgId,
174
- retryCount: 0,
175
- createdAt: new Date(),
176
- updatedAt: new Date(),
177
- } as StepInstance
178
-
179
- mockEm.create.mockReturnValue(mockStepInstance)
180
-
181
- const stepInstance = await stepHandler.enterStep(
182
- mockEm,
183
- mockInstance as WorkflowInstance,
184
- 'automated-step',
185
- {
186
- workflowContext: {},
187
- triggerData: { trigger: 'manual', userId: 'user-123' },
188
- }
189
- )
190
-
191
- expect(stepInstance.inputData).toEqual({ trigger: 'manual', userId: 'user-123' })
192
- })
193
- })
194
-
195
- // ============================================================================
196
- // exitStep() Tests
197
- // ============================================================================
198
-
199
- describe('exitStep', () => {
200
- test('should mark step as completed and record timing', async () => {
201
- const enteredAt = new Date(Date.now() - 5000) // 5 seconds ago
202
- const mockStepInstance = {
203
- id: 'step-instance-1',
204
- workflowInstanceId: testInstanceId,
205
- stepId: 'automated-step',
206
- stepName: 'Automated Step',
207
- stepType: 'AUTOMATED',
208
- status: 'ACTIVE',
209
- enteredAt,
210
- tenantId: testTenantId,
211
- organizationId: testOrgId,
212
- retryCount: 0,
213
- createdAt: new Date(),
214
- updatedAt: new Date(),
215
- } as StepInstance
216
-
217
- await stepHandler.exitStep(mockEm, mockStepInstance, { result: 'success' })
218
-
219
- expect(mockStepInstance.status).toBe('COMPLETED')
220
- expect(mockStepInstance.outputData).toEqual({ result: 'success' })
221
- expect(mockStepInstance.exitedAt).toBeDefined()
222
- expect(mockStepInstance.executionTimeMs).toBeGreaterThan(4000)
223
- expect(mockStepInstance.executionTimeMs).toBeLessThan(6000)
224
- expect(mockEm.flush).toHaveBeenCalled()
225
- })
226
-
227
- test('should handle exit without output data', async () => {
228
- const mockStepInstance = {
229
- id: 'step-instance-1',
230
- workflowInstanceId: testInstanceId,
231
- stepId: 'automated-step',
232
- status: 'ACTIVE',
233
- enteredAt: new Date(),
234
- tenantId: testTenantId,
235
- organizationId: testOrgId,
236
- retryCount: 0,
237
- createdAt: new Date(),
238
- updatedAt: new Date(),
239
- } as StepInstance
240
-
241
- await stepHandler.exitStep(mockEm, mockStepInstance)
242
-
243
- expect(mockStepInstance.status).toBe('COMPLETED')
244
- expect(mockStepInstance.outputData).toBeNull()
245
- expect(mockStepInstance.exitedAt).toBeDefined()
246
- })
247
- })
248
-
249
- // ============================================================================
250
- // executeStep() Tests - START step
251
- // ============================================================================
252
-
253
- describe('executeStep - START step', () => {
254
- test('should execute START step and complete immediately', async () => {
255
- mockEm.findOne.mockResolvedValue(mockDefinition as WorkflowDefinition)
256
-
257
- const mockStepInstance = {
258
- id: 'step-instance-1',
259
- workflowInstanceId: testInstanceId,
260
- stepId: 'start',
261
- stepName: 'Start',
262
- stepType: 'START',
263
- status: 'ACTIVE',
264
- enteredAt: new Date(),
265
- tenantId: testTenantId,
266
- organizationId: testOrgId,
267
- retryCount: 0,
268
- createdAt: new Date(),
269
- updatedAt: new Date(),
270
- } as StepInstance
271
-
272
- mockEm.create.mockReturnValue(mockStepInstance)
273
-
274
- const result = await stepHandler.executeStep(
275
- mockEm,
276
- mockInstance as WorkflowInstance,
277
- 'start',
278
- { workflowContext: {} }
279
- )
280
-
281
- expect(result.status).toBe('COMPLETED')
282
- expect(result.outputData).toBeDefined()
283
- expect(result.outputData.stepType).toBe('START')
284
- expect(mockEm.flush).toHaveBeenCalled() // exitStep was called
285
- })
286
- })
287
-
288
- // ============================================================================
289
- // executeStep() Tests - END step
290
- // ============================================================================
291
-
292
- describe('executeStep - END step', () => {
293
- test('should execute END step and complete with final context', async () => {
294
- mockEm.findOne.mockResolvedValue(mockDefinition as WorkflowDefinition)
295
-
296
- const mockStepInstance = {
297
- id: 'step-instance-1',
298
- workflowInstanceId: testInstanceId,
299
- stepId: 'end',
300
- stepName: 'End',
301
- stepType: 'END',
302
- status: 'ACTIVE',
303
- enteredAt: new Date(),
304
- tenantId: testTenantId,
305
- organizationId: testOrgId,
306
- retryCount: 0,
307
- createdAt: new Date(),
308
- updatedAt: new Date(),
309
- } as StepInstance
310
-
311
- mockEm.create.mockReturnValue(mockStepInstance)
312
-
313
- const workflowContext = { orderId: '12345', approved: true }
314
- const result = await stepHandler.executeStep(
315
- mockEm,
316
- mockInstance as WorkflowInstance,
317
- 'end',
318
- { workflowContext }
319
- )
320
-
321
- expect(result.status).toBe('COMPLETED')
322
- expect(result.outputData).toBeDefined()
323
- expect(result.outputData.stepType).toBe('END')
324
- expect(result.outputData.finalContext).toEqual(workflowContext)
325
- })
326
- })
327
-
328
- // ============================================================================
329
- // executeStep() Tests - AUTOMATED step
330
- // ============================================================================
331
-
332
- describe('executeStep - AUTOMATED step', () => {
333
- test('should execute AUTOMATED step and complete (MVP)', async () => {
334
- mockEm.findOne.mockResolvedValue(mockDefinition as WorkflowDefinition)
335
-
336
- const mockStepInstance = {
337
- id: 'step-instance-1',
338
- workflowInstanceId: testInstanceId,
339
- stepId: 'automated-step',
340
- stepName: 'Automated Step',
341
- stepType: 'AUTOMATED',
342
- status: 'ACTIVE',
343
- enteredAt: new Date(),
344
- tenantId: testTenantId,
345
- organizationId: testOrgId,
346
- retryCount: 0,
347
- createdAt: new Date(),
348
- updatedAt: new Date(),
349
- } as StepInstance
350
-
351
- mockEm.create.mockReturnValue(mockStepInstance)
352
-
353
- const result = await stepHandler.executeStep(
354
- mockEm,
355
- mockInstance as WorkflowInstance,
356
- 'automated-step',
357
- { workflowContext: { orderId: '12345' } }
358
- )
359
-
360
- expect(result.status).toBe('COMPLETED')
361
- expect(result.outputData).toBeDefined()
362
- expect(result.outputData.stepType).toBe('AUTOMATED')
363
- })
364
- })
365
-
366
- // ============================================================================
367
- // executeStep() Tests - USER_TASK step
368
- // ============================================================================
369
-
370
- describe('executeStep - USER_TASK step', () => {
371
- test('should execute USER_TASK step and enter waiting state', async () => {
372
- // Need two calls to findOne - one in enterStep, one in executeStep
373
- mockEm.findOne
374
- .mockResolvedValueOnce(mockDefinition as WorkflowDefinition) // enterStep
375
- .mockResolvedValueOnce(mockDefinition as WorkflowDefinition) // executeStep
376
-
377
- const mockStepInstance = {
378
- id: 'step-instance-1',
379
- workflowInstanceId: testInstanceId,
380
- stepId: 'user-task-step',
381
- stepName: 'User Task Step',
382
- stepType: 'USER_TASK',
383
- status: 'ACTIVE',
384
- enteredAt: new Date(),
385
- tenantId: testTenantId,
386
- organizationId: testOrgId,
387
- retryCount: 0,
388
- createdAt: new Date(),
389
- updatedAt: new Date(),
390
- } as StepInstance
391
-
392
- const mockUserTask = {
393
- id: 'user-task-1',
394
- workflowInstanceId: testInstanceId,
395
- stepInstanceId: 'step-instance-1',
396
- taskName: 'User Task Step',
397
- status: 'PENDING',
398
- assignedTo: 'manager@example.com',
399
- tenantId: testTenantId,
400
- organizationId: testOrgId,
401
- createdAt: new Date(),
402
- updatedAt: new Date(),
403
- } as UserTask
404
-
405
- mockEm.create
406
- .mockReturnValueOnce(mockStepInstance) // First call: create step instance
407
- .mockReturnValueOnce({} as any) // Second call: create event (enterStep)
408
- .mockReturnValueOnce(mockUserTask) // Third call: create user task
409
- .mockReturnValueOnce({} as any) // Fourth call: create event (USER_TASK_CREATED)
410
-
411
- const result = await stepHandler.executeStep(
412
- mockEm,
413
- mockInstance as WorkflowInstance,
414
- 'user-task-step',
415
- { workflowContext: {} }
416
- )
417
-
418
- expect(result.status).toBe('WAITING')
419
- expect(result.waitReason).toBe('USER_TASK')
420
- expect(result.outputData).toBeDefined()
421
- expect(result.outputData.userTaskId).toBe('user-task-1')
422
- })
423
-
424
- test('should create user task with form schema and assignment', async () => {
425
- mockEm.findOne
426
- .mockResolvedValueOnce(mockDefinition as WorkflowDefinition)
427
- .mockResolvedValueOnce(mockDefinition as WorkflowDefinition)
428
-
429
- const mockStepInstance = {
430
- id: 'step-instance-1',
431
- workflowInstanceId: testInstanceId,
432
- stepId: 'user-task-step',
433
- stepName: 'User Task Step',
434
- stepType: 'USER_TASK',
435
- status: 'ACTIVE',
436
- tenantId: testTenantId,
437
- organizationId: testOrgId,
438
- retryCount: 0,
439
- createdAt: new Date(),
440
- updatedAt: new Date(),
441
- } as StepInstance
442
-
443
- const mockUserTask = {
444
- id: 'user-task-1',
445
- workflowInstanceId: testInstanceId,
446
- stepInstanceId: 'step-instance-1',
447
- taskName: 'User Task Step',
448
- status: 'PENDING',
449
- formSchema: {
450
- fields: [
451
- { name: 'approved', type: 'boolean', label: 'Approved', required: true },
452
- ],
453
- },
454
- assignedTo: 'manager@example.com',
455
- dueDate: expect.any(Date),
456
- tenantId: testTenantId,
457
- organizationId: testOrgId,
458
- createdAt: new Date(),
459
- updatedAt: new Date(),
460
- } as unknown as UserTask
461
-
462
- mockEm.create
463
- .mockReturnValueOnce(mockStepInstance)
464
- .mockReturnValueOnce({} as any) // event
465
- .mockReturnValueOnce(mockUserTask)
466
- .mockReturnValueOnce({} as any) // event
467
-
468
- await stepHandler.executeStep(
469
- mockEm,
470
- mockInstance as WorkflowInstance,
471
- 'user-task-step',
472
- { workflowContext: {} }
473
- )
474
-
475
- // Verify user task was created with correct properties
476
- // Calls: step instance, event, user task, event
477
- expect(mockEm.create).toHaveBeenCalledTimes(4)
478
- const userTaskCall = (mockEm.create as jest.Mock).mock.calls[2] as [string, any] // Third call is user task
479
- expect(userTaskCall[1].formSchema).toBeDefined()
480
- expect(userTaskCall[1].assignedTo).toBe('manager@example.com')
481
- expect(userTaskCall[1].dueDate).toBeDefined()
482
- })
483
-
484
- test('should support role-based assignment', async () => {
485
- const definitionWithRoleAssignment = {
486
- ...mockDefinition,
487
- definition: {
488
- ...mockDefinition.definition,
489
- steps: [
490
- {
491
- stepId: 'user-task-roles',
492
- stepName: 'Role Task',
493
- stepType: 'USER_TASK',
494
- userTaskConfig: {
495
- assignedTo: ['manager', 'admin'],
496
- },
497
- },
498
- ],
499
- },
500
- }
501
-
502
- mockEm.findOne
503
- .mockResolvedValueOnce(definitionWithRoleAssignment as WorkflowDefinition)
504
- .mockResolvedValueOnce(definitionWithRoleAssignment as WorkflowDefinition)
505
-
506
- const mockStepInstance = {
507
- id: 'step-instance-1',
508
- workflowInstanceId: testInstanceId,
509
- stepId: 'user-task-roles',
510
- stepName: 'Role Task',
511
- stepType: 'USER_TASK',
512
- status: 'ACTIVE',
513
- tenantId: testTenantId,
514
- organizationId: testOrgId,
515
- retryCount: 0,
516
- createdAt: new Date(),
517
- updatedAt: new Date(),
518
- } as StepInstance
519
-
520
- const mockUserTask = {
521
- id: 'user-task-1',
522
- assignedTo: null,
523
- assignedToRoles: ['manager', 'admin'],
524
- tenantId: testTenantId,
525
- organizationId: testOrgId,
526
- createdAt: new Date(),
527
- updatedAt: new Date(),
528
- } as UserTask
529
-
530
- mockEm.create
531
- .mockReturnValueOnce(mockStepInstance)
532
- .mockReturnValueOnce({} as any) // event
533
- .mockReturnValueOnce(mockUserTask)
534
- .mockReturnValueOnce({} as any) // event
535
-
536
- await stepHandler.executeStep(
537
- mockEm,
538
- mockInstance as WorkflowInstance,
539
- 'user-task-roles',
540
- { workflowContext: {} }
541
- )
542
-
543
- const userTaskCall = (mockEm.create as jest.Mock).mock.calls[2] as [string, any] // Third call is user task
544
- expect(userTaskCall[1].assignedTo).toBeNull()
545
- expect(userTaskCall[1].assignedToRoles).toEqual(['manager', 'admin'])
546
- })
547
- })
548
-
549
- // ============================================================================
550
- // executeStep() Tests - Error Handling
551
- // ============================================================================
552
-
553
- describe('executeStep - Error Handling', () => {
554
- test('should handle step execution errors gracefully', async () => {
555
- mockEm.findOne
556
- .mockResolvedValueOnce(mockDefinition as WorkflowDefinition)
557
- .mockResolvedValueOnce(null) // Simulate error finding definition on second call
558
-
559
- const mockStepInstance = {
560
- id: 'step-instance-1',
561
- workflowInstanceId: testInstanceId,
562
- stepId: 'automated-step',
563
- stepName: 'Automated Step',
564
- stepType: 'AUTOMATED',
565
- status: 'ACTIVE',
566
- tenantId: testTenantId,
567
- organizationId: testOrgId,
568
- retryCount: 0,
569
- createdAt: new Date(),
570
- updatedAt: new Date(),
571
- } as StepInstance
572
-
573
- mockEm.create.mockReturnValue(mockStepInstance)
574
- mockEm.findOne.mockResolvedValueOnce(mockStepInstance) // For error recovery
575
-
576
- const result = await stepHandler.executeStep(
577
- mockEm,
578
- mockInstance as WorkflowInstance,
579
- 'automated-step',
580
- { workflowContext: {} }
581
- )
582
-
583
- expect(result.status).toBe('FAILED')
584
- expect(result.error).toBeDefined()
585
- })
586
-
587
- test('should mark step as FAILED on error', async () => {
588
- mockEm.findOne
589
- .mockResolvedValueOnce(mockDefinition as WorkflowDefinition)
590
- .mockResolvedValueOnce(null) // Simulate error
591
-
592
- const mockStepInstance = {
593
- id: 'step-instance-1',
594
- workflowInstanceId: testInstanceId,
595
- stepId: 'automated-step',
596
- status: 'ACTIVE',
597
- tenantId: testTenantId,
598
- organizationId: testOrgId,
599
- retryCount: 0,
600
- createdAt: new Date(),
601
- updatedAt: new Date(),
602
- } as StepInstance
603
-
604
- mockEm.create.mockReturnValue(mockStepInstance)
605
- mockEm.findOne.mockResolvedValueOnce(mockStepInstance) // For error recovery
606
-
607
- await stepHandler.executeStep(
608
- mockEm,
609
- mockInstance as WorkflowInstance,
610
- 'automated-step',
611
- { workflowContext: {} }
612
- )
613
-
614
- expect(mockStepInstance.status).toBe('FAILED')
615
- expect(mockStepInstance.errorData).toBeDefined()
616
- expect(mockStepInstance.exitedAt).toBeDefined()
617
- })
618
-
619
- test('should throw error for unimplemented step types', async () => {
620
- const definitionWithUnsupportedStep = {
621
- ...mockDefinition,
622
- definition: {
623
- steps: [
624
- {
625
- stepId: 'parallel-fork',
626
- stepName: 'Parallel Fork',
627
- stepType: 'PARALLEL_FORK',
628
- },
629
- ],
630
- transitions: [],
631
- },
632
- }
633
-
634
- mockEm.findOne
635
- .mockResolvedValueOnce(definitionWithUnsupportedStep as WorkflowDefinition) // enterStep
636
- .mockResolvedValueOnce(definitionWithUnsupportedStep as WorkflowDefinition) // executeStep
637
-
638
- const mockStepInstance = {
639
- id: 'step-instance-1',
640
- workflowInstanceId: testInstanceId,
641
- stepId: 'parallel-fork',
642
- stepName: 'Parallel Fork',
643
- stepType: 'PARALLEL_FORK',
644
- status: 'ACTIVE',
645
- tenantId: testTenantId,
646
- organizationId: testOrgId,
647
- retryCount: 0,
648
- createdAt: new Date(),
649
- updatedAt: new Date(),
650
- } as StepInstance
651
-
652
- mockEm.create
653
- .mockReturnValueOnce(mockStepInstance)
654
- .mockReturnValueOnce({} as any) // event
655
-
656
- // Mock for error recovery - findOne to get the failed step
657
- mockEm.findOne.mockResolvedValueOnce(mockStepInstance)
658
-
659
- const result = await stepHandler.executeStep(
660
- mockEm,
661
- mockInstance as WorkflowInstance,
662
- 'parallel-fork',
663
- { workflowContext: {} }
664
- )
665
-
666
- expect(result.status).toBe('FAILED')
667
- expect(result.error).toContain('not yet implemented')
668
- })
669
- })
670
- })