@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,566 +0,0 @@
1
- /**
2
- * Signals Feature Tests - Phase 9.1
3
- *
4
- * Tests for WAIT_FOR_SIGNAL step type and signal handling
5
- */
6
-
7
- import { sendSignal, sendSignalByCorrelationKey, SignalError } from '../signal-handler'
8
- import { logWorkflowEvent } from '../event-logger'
9
- import { executeWorkflow } from '../workflow-executor'
10
- import * as stepHandler from '../step-handler'
11
- import * as transitionHandler from '../transition-handler'
12
-
13
- // Mock dependencies
14
- jest.mock('../event-logger')
15
- jest.mock('../workflow-executor')
16
- jest.mock('../step-handler')
17
- jest.mock('../transition-handler')
18
-
19
- const mockLogWorkflowEvent = logWorkflowEvent as jest.MockedFunction<typeof logWorkflowEvent>
20
- const mockExecuteWorkflow = executeWorkflow as jest.MockedFunction<typeof executeWorkflow>
21
- const mockExitStep = stepHandler.exitStep as jest.MockedFunction<typeof stepHandler.exitStep>
22
- const mockFindValidTransitions = transitionHandler.findValidTransitions as jest.MockedFunction<
23
- typeof transitionHandler.findValidTransitions
24
- >
25
- const mockExecuteTransition = transitionHandler.executeTransition as jest.MockedFunction<
26
- typeof transitionHandler.executeTransition
27
- >
28
-
29
- describe('Workflow Signals - Phase 9.1', () => {
30
- // Test data
31
- const tenantId = 'tenant-123'
32
- const organizationId = 'org-123'
33
- const instanceId = 'instance-123'
34
- const userId = 'user-123'
35
- const definitionId = 'def-123'
36
-
37
- const mockEm = {
38
- findOne: jest.fn(),
39
- find: jest.fn(),
40
- flush: jest.fn(),
41
- } as any
42
-
43
- const mockContainer = {} as any
44
-
45
- const mockInstance = {
46
- id: instanceId,
47
- definitionId,
48
- status: 'PAUSED',
49
- currentStepId: 'wait_approval',
50
- context: { orderId: 'order-123' },
51
- version: 1,
52
- workflowId: 'signal_workflow',
53
- startedAt: new Date(),
54
- retryCount: 0,
55
- createdAt: new Date(),
56
- tenantId,
57
- organizationId,
58
- updatedAt: new Date(),
59
- }
60
-
61
- const mockDefinition = {
62
- id: definitionId,
63
- workflowId: 'signal_workflow',
64
- definition: {
65
- steps: [
66
- { stepId: 'start', stepType: 'START' },
67
- {
68
- stepId: 'wait_approval',
69
- stepType: 'WAIT_FOR_SIGNAL',
70
- stepName: 'Wait for Approval',
71
- signalConfig: {
72
- signalName: 'approval_granted',
73
- timeout: 'PT5M',
74
- },
75
- },
76
- { stepId: 'process', stepType: 'AUTOMATED' },
77
- { stepId: 'end', stepType: 'END' },
78
- ],
79
- transitions: [
80
- { transitionId: 't1', fromStepId: 'start', toStepId: 'wait_approval', trigger: 'auto' },
81
- { transitionId: 't2', fromStepId: 'wait_approval', toStepId: 'process', trigger: 'auto' },
82
- { transitionId: 't3', fromStepId: 'process', toStepId: 'end', trigger: 'auto' },
83
- ],
84
- },
85
- }
86
-
87
- const mockStepInstance = {
88
- id: 'step-instance-123',
89
- workflowInstanceId: instanceId,
90
- stepId: 'wait_approval',
91
- status: 'ACTIVE',
92
- }
93
-
94
- beforeEach(() => {
95
- jest.clearAllMocks()
96
- mockLogWorkflowEvent.mockResolvedValue({} as any)
97
- mockEm.flush.mockResolvedValue(undefined)
98
- mockExitStep.mockResolvedValue(undefined)
99
- mockExecuteWorkflow.mockResolvedValue({} as any)
100
- mockFindValidTransitions.mockResolvedValue([
101
- {
102
- transition: { toStepId: 'process', fromStepId: 'wait_approval', trigger: 'auto' },
103
- isValid: true,
104
- },
105
- ])
106
- mockExecuteTransition.mockResolvedValue({ success: true })
107
- })
108
-
109
- describe('Basic Signal Sending', () => {
110
- it('should send signal to paused workflow instance', async () => {
111
- mockEm.findOne
112
- .mockResolvedValueOnce({ ...mockInstance }) // Instance lookup
113
- .mockResolvedValueOnce({ ...mockDefinition }) // Definition lookup
114
- .mockResolvedValueOnce({ ...mockStepInstance }) // Step instance lookup
115
-
116
- await sendSignal(mockEm, mockContainer, {
117
- instanceId,
118
- signalName: 'approval_granted',
119
- payload: { approved: true },
120
- userId,
121
- tenantId,
122
- organizationId,
123
- })
124
-
125
- // Verify SIGNAL_RECEIVED event logged
126
- expect(mockLogWorkflowEvent).toHaveBeenCalledWith(
127
- mockEm,
128
- expect.objectContaining({
129
- workflowInstanceId: instanceId,
130
- eventType: 'SIGNAL_RECEIVED',
131
- eventData: expect.objectContaining({
132
- signalName: 'approval_granted',
133
- payload: { approved: true },
134
- }),
135
- userId,
136
- tenantId,
137
- organizationId,
138
- })
139
- )
140
-
141
- // Verify step exited
142
- expect(mockExitStep).toHaveBeenCalledWith(
143
- mockEm,
144
- expect.objectContaining({ id: mockStepInstance.id }),
145
- expect.objectContaining({
146
- signalName: 'approval_granted',
147
- payload: { approved: true },
148
- })
149
- )
150
-
151
- // Verify workflow execution resumed
152
- expect(mockExecuteWorkflow).toHaveBeenCalledWith(
153
- mockEm,
154
- mockContainer,
155
- instanceId,
156
- expect.objectContaining({ userId })
157
- )
158
- })
159
-
160
- it('should merge signal payload into workflow context', async () => {
161
- const instance: any = { ...mockInstance, context: { existingData: 'value' }, version: 1, workflowId: 'signal_workflow', startedAt: new Date(), retryCount: 0, createdAt: new Date(), updatedAt: new Date() }
162
- mockEm.findOne
163
- .mockResolvedValueOnce(instance) // Instance
164
- .mockResolvedValueOnce(mockDefinition) // Definition
165
- .mockResolvedValueOnce(mockStepInstance) // Step instance
166
-
167
- await sendSignal(mockEm, mockContainer, {
168
- instanceId,
169
- signalName: 'approval_granted',
170
- payload: { name: 'John', amount: 100 },
171
- userId,
172
- tenantId,
173
- organizationId,
174
- })
175
-
176
- // Verify context was updated
177
- expect(instance.context.existingData).toBe('value')
178
- expect(instance.context.name).toBe('John')
179
- expect(instance.context.amount).toBe(100)
180
- expect(instance.context.signal_approval_granted_payload).toEqual({
181
- name: 'John',
182
- amount: 100,
183
- })
184
- expect(instance.context.signal_approval_granted_receivedAt).toBeDefined()
185
- })
186
-
187
- it('should handle signal without payload', async () => {
188
- mockEm.findOne
189
- .mockResolvedValueOnce({ ...mockInstance })
190
- .mockResolvedValueOnce({ ...mockDefinition })
191
- .mockResolvedValueOnce({ ...mockStepInstance })
192
-
193
- await sendSignal(mockEm, mockContainer, {
194
- instanceId,
195
- signalName: 'approval_granted',
196
- // No payload
197
- userId,
198
- tenantId,
199
- organizationId,
200
- })
201
-
202
- // Should work without errors
203
- expect(mockExecuteWorkflow).toHaveBeenCalled()
204
- })
205
- })
206
-
207
- describe('Error Handling', () => {
208
- it('should throw INSTANCE_NOT_FOUND when workflow does not exist', async () => {
209
- mockEm.findOne.mockResolvedValueOnce(null) // Instance not found
210
-
211
- await expect(
212
- sendSignal(mockEm, mockContainer, {
213
- instanceId,
214
- signalName: 'test',
215
- userId,
216
- tenantId,
217
- organizationId,
218
- })
219
- ).rejects.toThrow(SignalError)
220
-
221
- await expect(
222
- sendSignal(mockEm, mockContainer, {
223
- instanceId,
224
- signalName: 'test',
225
- userId,
226
- tenantId,
227
- organizationId,
228
- })
229
- ).rejects.toThrow('not found')
230
- })
231
-
232
- it('should throw WORKFLOW_NOT_PAUSED when workflow is not paused', async () => {
233
- mockEm.findOne.mockResolvedValueOnce({
234
- ...mockInstance,
235
- status: 'RUNNING',
236
- })
237
-
238
- await expect(
239
- sendSignal(mockEm, mockContainer, {
240
- instanceId,
241
- signalName: 'test',
242
- userId,
243
- tenantId,
244
- organizationId,
245
- })
246
- ).rejects.toThrow('not paused')
247
- })
248
-
249
- it('should throw DEFINITION_NOT_FOUND when definition does not exist', async () => {
250
- mockEm.findOne
251
- .mockResolvedValueOnce({ ...mockInstance }) // Instance found
252
- .mockResolvedValueOnce(null) // Definition not found
253
-
254
- await expect(
255
- sendSignal(mockEm, mockContainer, {
256
- instanceId,
257
- signalName: 'test',
258
- userId,
259
- tenantId,
260
- organizationId,
261
- })
262
- ).rejects.toThrow('definition not found')
263
- })
264
-
265
- it('should throw NOT_WAITING_FOR_SIGNAL when current step is not WAIT_FOR_SIGNAL', async () => {
266
- const definitionWithoutSignal = {
267
- ...mockDefinition,
268
- definition: {
269
- steps: [
270
- { stepId: 'start', stepType: 'START' },
271
- { stepId: 'wait_approval', stepType: 'AUTOMATED' }, // Not WAIT_FOR_SIGNAL
272
- { stepId: 'end', stepType: 'END' },
273
- ],
274
- transitions: [],
275
- },
276
- }
277
-
278
- mockEm.findOne
279
- .mockResolvedValueOnce({ ...mockInstance })
280
- .mockResolvedValueOnce(definitionWithoutSignal)
281
-
282
- await expect(
283
- sendSignal(mockEm, mockContainer, {
284
- instanceId,
285
- signalName: 'test',
286
- userId,
287
- tenantId,
288
- organizationId,
289
- })
290
- ).rejects.toThrow('not waiting for signal')
291
- })
292
-
293
- it('should throw SIGNAL_NAME_MISMATCH when signal name does not match', async () => {
294
- mockEm.findOne
295
- .mockResolvedValueOnce({ ...mockInstance })
296
- .mockResolvedValueOnce({ ...mockDefinition })
297
-
298
- await expect(
299
- sendSignal(mockEm, mockContainer, {
300
- instanceId,
301
- signalName: 'wrong_signal_name',
302
- userId,
303
- tenantId,
304
- organizationId,
305
- })
306
- ).rejects.toThrow('mismatch')
307
- })
308
- })
309
-
310
- describe('Signal by Correlation Key', () => {
311
- it('should send signal to multiple workflows with same correlation key', async () => {
312
- const instance1 = { ...mockInstance, id: 'instance-1', correlationKey: 'batch-001', version: 1, workflowId: 'signal_workflow', startedAt: new Date(), retryCount: 0, createdAt: new Date(), updatedAt: new Date() }
313
- const instance2 = { ...mockInstance, id: 'instance-2', correlationKey: 'batch-001', version: 1, workflowId: 'signal_workflow', startedAt: new Date(), retryCount: 0, createdAt: new Date(), updatedAt: new Date() }
314
- const instance3 = { ...mockInstance, id: 'instance-3', correlationKey: 'batch-001', version: 1, workflowId: 'signal_workflow', startedAt: new Date(), retryCount: 0, createdAt: new Date(), updatedAt: new Date() }
315
-
316
- mockEm.find.mockResolvedValueOnce([instance1, instance2, instance3])
317
-
318
- // Mock for each instance
319
- mockEm.findOne
320
- // Instance 1
321
- .mockResolvedValueOnce(instance1)
322
- .mockResolvedValueOnce(mockDefinition)
323
- .mockResolvedValueOnce({ ...mockStepInstance, workflowInstanceId: 'instance-1' })
324
- // Instance 2
325
- .mockResolvedValueOnce(instance2)
326
- .mockResolvedValueOnce(mockDefinition)
327
- .mockResolvedValueOnce({ ...mockStepInstance, workflowInstanceId: 'instance-2' })
328
- // Instance 3
329
- .mockResolvedValueOnce(instance3)
330
- .mockResolvedValueOnce(mockDefinition)
331
- .mockResolvedValueOnce({ ...mockStepInstance, workflowInstanceId: 'instance-3' })
332
-
333
- const count = await sendSignalByCorrelationKey(mockEm, mockContainer, {
334
- correlationKey: 'batch-001',
335
- signalName: 'approval_granted',
336
- payload: { batchApproved: true },
337
- userId,
338
- tenantId,
339
- organizationId,
340
- })
341
-
342
- expect(count).toBe(3)
343
-
344
- // Verify all instances processed
345
- expect(mockExecuteWorkflow).toHaveBeenCalledTimes(3)
346
- expect(mockLogWorkflowEvent).toHaveBeenCalledTimes(3)
347
- })
348
-
349
- it('should return 0 when no workflows match correlation key', async () => {
350
- mockEm.find.mockResolvedValueOnce([]) // No workflows found
351
-
352
- const count = await sendSignalByCorrelationKey(mockEm, mockContainer, {
353
- correlationKey: 'non-existent',
354
- signalName: 'test',
355
- userId,
356
- tenantId,
357
- organizationId,
358
- })
359
-
360
- expect(count).toBe(0)
361
- expect(mockExecuteWorkflow).not.toHaveBeenCalled()
362
- })
363
-
364
- it('should continue processing other instances if one fails', async () => {
365
- const instance1 = { ...mockInstance, id: 'instance-1', correlationKey: 'batch-002', version: 1, workflowId: 'signal_workflow', startedAt: new Date(), retryCount: 0, createdAt: new Date(), updatedAt: new Date() }
366
- const instance2 = { ...mockInstance, id: 'instance-2', correlationKey: 'batch-002', version: 1, workflowId: 'signal_workflow', startedAt: new Date(), retryCount: 0, createdAt: new Date(), updatedAt: new Date() }
367
-
368
- mockEm.find.mockResolvedValueOnce([instance1, instance2])
369
-
370
- // Instance 1 fails (not paused)
371
- mockEm.findOne
372
- .mockResolvedValueOnce({ ...instance1, status: 'RUNNING' })
373
- // Instance 2 succeeds
374
- .mockResolvedValueOnce(instance2)
375
- .mockResolvedValueOnce(mockDefinition)
376
- .mockResolvedValueOnce({ ...mockStepInstance, workflowInstanceId: 'instance-2' })
377
-
378
- const count = await sendSignalByCorrelationKey(mockEm, mockContainer, {
379
- correlationKey: 'batch-002',
380
- signalName: 'approval_granted',
381
- userId,
382
- tenantId,
383
- organizationId,
384
- })
385
-
386
- // Only 1 succeeded
387
- expect(count).toBe(1)
388
- })
389
- })
390
-
391
- describe('Multi-tenant Isolation', () => {
392
- it('should enforce tenant scope in instance lookup', async () => {
393
- mockEm.findOne.mockResolvedValueOnce(null) // Not found due to tenant mismatch
394
-
395
- await expect(
396
- sendSignal(mockEm, mockContainer, {
397
- instanceId,
398
- signalName: 'test',
399
- userId,
400
- tenantId: 'different-tenant',
401
- organizationId,
402
- })
403
- ).rejects.toThrow('not found')
404
-
405
- // Verify findOne was called with tenant filter
406
- expect(mockEm.findOne).toHaveBeenCalledWith(
407
- expect.anything(),
408
- expect.objectContaining({
409
- id: instanceId,
410
- tenantId: 'different-tenant',
411
- organizationId,
412
- })
413
- )
414
- })
415
-
416
- it('should enforce tenant scope in correlation key lookup', async () => {
417
- mockEm.find.mockResolvedValueOnce([]) // No workflows in different tenant
418
-
419
- const count = await sendSignalByCorrelationKey(mockEm, mockContainer, {
420
- correlationKey: 'test-key',
421
- signalName: 'test',
422
- userId,
423
- tenantId: 'tenant-a',
424
- organizationId: 'org-a',
425
- })
426
-
427
- expect(count).toBe(0)
428
-
429
- // Verify find was called with tenant filter
430
- expect(mockEm.find).toHaveBeenCalledWith(
431
- expect.anything(),
432
- expect.objectContaining({
433
- correlationKey: 'test-key',
434
- status: 'PAUSED',
435
- tenantId: 'tenant-a',
436
- organizationId: 'org-a',
437
- })
438
- )
439
- })
440
- })
441
-
442
- describe('Transition Execution', () => {
443
- it('should find and execute valid transitions after signal', async () => {
444
- mockEm.findOne
445
- .mockResolvedValueOnce({ ...mockInstance })
446
- .mockResolvedValueOnce({ ...mockDefinition })
447
- .mockResolvedValueOnce({ ...mockStepInstance })
448
-
449
- await sendSignal(mockEm, mockContainer, {
450
- instanceId,
451
- signalName: 'approval_granted',
452
- userId,
453
- tenantId,
454
- organizationId,
455
- })
456
-
457
- // Verify transitions were evaluated
458
- expect(mockFindValidTransitions).toHaveBeenCalledWith(
459
- mockEm,
460
- expect.objectContaining({ id: instanceId }),
461
- 'wait_approval',
462
- expect.objectContaining({
463
- workflowContext: expect.any(Object),
464
- userId,
465
- })
466
- )
467
-
468
- // Verify transition was executed
469
- expect(mockExecuteTransition).toHaveBeenCalledWith(
470
- mockEm,
471
- mockContainer,
472
- expect.objectContaining({ id: instanceId }),
473
- 'wait_approval',
474
- 'process',
475
- expect.any(Object)
476
- )
477
- })
478
-
479
- it('should handle case with no automatic transitions', async () => {
480
- const definitionNoTransitions = {
481
- ...mockDefinition,
482
- definition: {
483
- ...mockDefinition.definition,
484
- transitions: [], // No transitions
485
- },
486
- }
487
-
488
- const testInstance = { ...mockInstance }
489
- mockEm.findOne
490
- .mockResolvedValueOnce(testInstance)
491
- .mockResolvedValueOnce(definitionNoTransitions)
492
- .mockResolvedValueOnce({ ...mockStepInstance })
493
-
494
- await sendSignal(mockEm, mockContainer, {
495
- instanceId,
496
- signalName: 'approval_granted',
497
- userId,
498
- tenantId,
499
- organizationId,
500
- })
501
-
502
- // Should mark as RUNNING but not execute transitions
503
- expect(testInstance.status).toBe('RUNNING')
504
- expect(mockExecuteWorkflow).not.toHaveBeenCalled()
505
- })
506
-
507
- it('should handle case with no valid transitions', async () => {
508
- const testInstance = { ...mockInstance }
509
- mockEm.findOne
510
- .mockResolvedValueOnce(testInstance)
511
- .mockResolvedValueOnce({ ...mockDefinition })
512
- .mockResolvedValueOnce({ ...mockStepInstance })
513
-
514
- mockFindValidTransitions.mockResolvedValueOnce([
515
- { transition: null, isValid: false }, // No valid transitions
516
- ])
517
-
518
- await sendSignal(mockEm, mockContainer, {
519
- instanceId,
520
- signalName: 'approval_granted',
521
- userId,
522
- tenantId,
523
- organizationId,
524
- })
525
-
526
- // Should mark as RUNNING but not execute transitions
527
- expect(testInstance.status).toBe('RUNNING')
528
- expect(mockExecuteTransition).not.toHaveBeenCalled()
529
- })
530
- })
531
-
532
- describe('Event Logging', () => {
533
- it('should log SIGNAL_RECEIVED event with full details', async () => {
534
- mockEm.findOne
535
- .mockResolvedValueOnce({ ...mockInstance })
536
- .mockResolvedValueOnce({ ...mockDefinition })
537
- .mockResolvedValueOnce({ ...mockStepInstance })
538
-
539
- const payload = { approved: true, approver: 'Alice', timestamp: '2024-01-01T10:00:00Z' }
540
-
541
- await sendSignal(mockEm, mockContainer, {
542
- instanceId,
543
- signalName: 'approval_granted',
544
- payload,
545
- userId,
546
- tenantId,
547
- organizationId,
548
- })
549
-
550
- expect(mockLogWorkflowEvent).toHaveBeenCalledWith(
551
- mockEm,
552
- expect.objectContaining({
553
- workflowInstanceId: instanceId,
554
- eventType: 'SIGNAL_RECEIVED',
555
- eventData: expect.objectContaining({
556
- signalName: 'approval_granted',
557
- payload,
558
- }),
559
- userId,
560
- tenantId,
561
- organizationId,
562
- })
563
- )
564
- })
565
- })
566
- })