@powerhousedao/network-admin 0.0.64 → 1.0.0-dev.2

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 (481) hide show
  1. package/dist/document-models/document-models.d.ts.map +1 -1
  2. package/dist/document-models/document-models.js +0 -2
  3. package/dist/document-models/index.d.ts +0 -1
  4. package/dist/document-models/index.d.ts.map +1 -1
  5. package/dist/document-models/index.js +0 -1
  6. package/dist/document-models/network-profile/gen/document-model.d.ts.map +1 -1
  7. package/dist/document-models/network-profile/gen/document-model.js +84 -84
  8. package/dist/document-models/network-profile/gen/ph-factories.d.ts.map +1 -1
  9. package/dist/document-models/network-profile/gen/ph-factories.js +0 -2
  10. package/dist/document-models/network-profile/gen/reducer.d.ts +0 -1
  11. package/dist/document-models/network-profile/gen/reducer.d.ts.map +1 -1
  12. package/dist/document-models/network-profile/gen/schema/types.d.ts +2 -6
  13. package/dist/document-models/network-profile/gen/schema/types.d.ts.map +1 -1
  14. package/dist/document-models/network-profile/gen/schema/zod.d.ts +2 -8
  15. package/dist/document-models/network-profile/gen/schema/zod.d.ts.map +1 -1
  16. package/dist/document-models/network-profile/gen/schema/zod.js +2 -6
  17. package/dist/document-models/network-profile/gen/utils.d.ts.map +1 -1
  18. package/dist/document-models/network-profile/gen/utils.js +1 -3
  19. package/dist/document-models/network-profile/hooks.d.ts +2 -2
  20. package/dist/document-models/network-profile/hooks.d.ts.map +1 -1
  21. package/dist/document-models/network-profile/module.d.ts +1 -1
  22. package/dist/document-models/network-profile/module.d.ts.map +1 -1
  23. package/dist/document-models/network-profile/module.js +1 -1
  24. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts +1 -0
  25. package/dist/document-models/network-profile/src/reducers/network-profile-management.d.ts.map +1 -1
  26. package/dist/document-models/network-profile/src/reducers/network-profile-management.js +18 -27
  27. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts +0 -4
  28. package/dist/document-models/network-profile/src/tests/document-model.test.d.ts.map +1 -1
  29. package/dist/document-models/network-profile/src/tests/document-model.test.js +6 -92
  30. package/dist/document-models/network-profile/src/tests/network-profile-management.test.js +115 -69
  31. package/dist/document-models/payment-terms/actions.d.ts +2 -1
  32. package/dist/document-models/payment-terms/actions.d.ts.map +1 -1
  33. package/dist/document-models/payment-terms/gen/clauses/error.d.ts +40 -1
  34. package/dist/document-models/payment-terms/gen/clauses/error.d.ts.map +1 -1
  35. package/dist/document-models/payment-terms/gen/clauses/error.js +32 -1
  36. package/dist/document-models/payment-terms/gen/document-model.d.ts.map +1 -1
  37. package/dist/document-models/payment-terms/gen/document-model.js +180 -89
  38. package/dist/document-models/payment-terms/gen/milestones/error.d.ts +26 -1
  39. package/dist/document-models/payment-terms/gen/milestones/error.d.ts.map +1 -1
  40. package/dist/document-models/payment-terms/gen/milestones/error.js +18 -1
  41. package/dist/document-models/payment-terms/gen/ph-factories.d.ts.map +1 -1
  42. package/dist/document-models/payment-terms/gen/ph-factories.js +2 -1
  43. package/dist/document-models/payment-terms/gen/reducer.d.ts +0 -1
  44. package/dist/document-models/payment-terms/gen/reducer.d.ts.map +1 -1
  45. package/dist/document-models/payment-terms/gen/reducer.js +9 -4
  46. package/dist/document-models/payment-terms/gen/schema/types.d.ts +29 -14
  47. package/dist/document-models/payment-terms/gen/schema/types.d.ts.map +1 -1
  48. package/dist/document-models/payment-terms/gen/schema/zod.d.ts +12 -36
  49. package/dist/document-models/payment-terms/gen/schema/zod.d.ts.map +1 -1
  50. package/dist/document-models/payment-terms/gen/schema/zod.js +55 -29
  51. package/dist/document-models/payment-terms/gen/terms/actions.d.ts +9 -5
  52. package/dist/document-models/payment-terms/gen/terms/actions.d.ts.map +1 -1
  53. package/dist/document-models/payment-terms/gen/terms/creators.d.ts +4 -3
  54. package/dist/document-models/payment-terms/gen/terms/creators.d.ts.map +1 -1
  55. package/dist/document-models/payment-terms/gen/terms/creators.js +3 -2
  56. package/dist/document-models/payment-terms/gen/terms/operations.d.ts +3 -2
  57. package/dist/document-models/payment-terms/gen/terms/operations.d.ts.map +1 -1
  58. package/dist/document-models/payment-terms/gen/utils.d.ts.map +1 -1
  59. package/dist/document-models/payment-terms/gen/utils.js +3 -2
  60. package/dist/document-models/payment-terms/hooks.d.ts +2 -2
  61. package/dist/document-models/payment-terms/hooks.d.ts.map +1 -1
  62. package/dist/document-models/payment-terms/module.d.ts +1 -1
  63. package/dist/document-models/payment-terms/module.d.ts.map +1 -1
  64. package/dist/document-models/payment-terms/module.js +1 -1
  65. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts +1 -0
  66. package/dist/document-models/payment-terms/src/reducers/clauses.d.ts.map +1 -1
  67. package/dist/document-models/payment-terms/src/reducers/clauses.js +15 -13
  68. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts +1 -0
  69. package/dist/document-models/payment-terms/src/reducers/milestones.d.ts.map +1 -1
  70. package/dist/document-models/payment-terms/src/reducers/milestones.js +12 -10
  71. package/dist/document-models/payment-terms/src/reducers/terms.d.ts +1 -0
  72. package/dist/document-models/payment-terms/src/reducers/terms.d.ts.map +1 -1
  73. package/dist/document-models/payment-terms/src/reducers/terms.js +24 -14
  74. package/dist/document-models/payment-terms/src/tests/clauses.test.js +21 -26
  75. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts +0 -4
  76. package/dist/document-models/payment-terms/src/tests/document-model.test.d.ts.map +1 -1
  77. package/dist/document-models/payment-terms/src/tests/document-model.test.js +6 -92
  78. package/dist/document-models/payment-terms/src/tests/milestones.test.js +19 -22
  79. package/dist/document-models/payment-terms/src/tests/terms.test.js +29 -24
  80. package/dist/document-models/payment-terms/tests/terms.test.js +15 -5
  81. package/dist/document-models/request-for-proposals/gen/document-model.js +4 -4
  82. package/dist/document-models/request-for-proposals/gen/ph-factories.d.ts.map +1 -1
  83. package/dist/document-models/request-for-proposals/gen/ph-factories.js +4 -6
  84. package/dist/document-models/request-for-proposals/gen/reducer.d.ts +0 -1
  85. package/dist/document-models/request-for-proposals/gen/reducer.d.ts.map +1 -1
  86. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts +9 -64
  87. package/dist/document-models/request-for-proposals/gen/schema/zod.d.ts.map +1 -1
  88. package/dist/document-models/request-for-proposals/gen/utils.d.ts.map +1 -1
  89. package/dist/document-models/request-for-proposals/gen/utils.js +5 -7
  90. package/dist/document-models/request-for-proposals/hooks.d.ts +2 -2
  91. package/dist/document-models/request-for-proposals/hooks.d.ts.map +1 -1
  92. package/dist/document-models/request-for-proposals/module.d.ts +1 -1
  93. package/dist/document-models/request-for-proposals/module.d.ts.map +1 -1
  94. package/dist/document-models/request-for-proposals/module.js +1 -1
  95. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts +1 -0
  96. package/dist/document-models/request-for-proposals/src/reducers/contex-document.d.ts.map +1 -1
  97. package/dist/document-models/request-for-proposals/src/reducers/contex-document.js +4 -3
  98. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts +1 -0
  99. package/dist/document-models/request-for-proposals/src/reducers/proposals.d.ts.map +1 -1
  100. package/dist/document-models/request-for-proposals/src/reducers/proposals.js +5 -4
  101. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts +1 -0
  102. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.d.ts.map +1 -1
  103. package/dist/document-models/request-for-proposals/src/reducers/rfp-state.js +3 -2
  104. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts +1 -2
  105. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.d.ts.map +1 -1
  106. package/dist/document-models/request-for-proposals/src/tests/contex-document.test.js +181 -24
  107. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts +0 -4
  108. package/dist/document-models/request-for-proposals/src/tests/document-model.test.d.ts.map +1 -1
  109. package/dist/document-models/request-for-proposals/src/tests/document-model.test.js +6 -92
  110. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts +1 -2
  111. package/dist/document-models/request-for-proposals/src/tests/proposals.test.d.ts.map +1 -1
  112. package/dist/document-models/request-for-proposals/src/tests/proposals.test.js +327 -33
  113. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts +1 -2
  114. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.d.ts.map +1 -1
  115. package/dist/document-models/request-for-proposals/src/tests/rfp-state.test.js +240 -15
  116. package/dist/document-models/workstream/gen/document-model.d.ts.map +1 -1
  117. package/dist/document-models/workstream/gen/document-model.js +16 -16
  118. package/dist/document-models/workstream/gen/reducer.d.ts +0 -1
  119. package/dist/document-models/workstream/gen/reducer.d.ts.map +1 -1
  120. package/dist/document-models/workstream/gen/schema/types.d.ts +1 -1
  121. package/dist/document-models/workstream/gen/schema/types.d.ts.map +1 -1
  122. package/dist/document-models/workstream/gen/schema/zod.d.ts +5 -35
  123. package/dist/document-models/workstream/gen/schema/zod.d.ts.map +1 -1
  124. package/dist/document-models/workstream/gen/utils.js +1 -1
  125. package/dist/document-models/workstream/hooks.d.ts +2 -2
  126. package/dist/document-models/workstream/hooks.d.ts.map +1 -1
  127. package/dist/document-models/workstream/module.d.ts +1 -1
  128. package/dist/document-models/workstream/module.d.ts.map +1 -1
  129. package/dist/document-models/workstream/module.js +1 -1
  130. package/dist/document-models/workstream/src/reducers/proposals.d.ts +1 -0
  131. package/dist/document-models/workstream/src/reducers/proposals.d.ts.map +1 -1
  132. package/dist/document-models/workstream/src/reducers/proposals.js +6 -83
  133. package/dist/document-models/workstream/src/reducers/workstream.d.ts +1 -0
  134. package/dist/document-models/workstream/src/reducers/workstream.d.ts.map +1 -1
  135. package/dist/document-models/workstream/src/reducers/workstream.js +7 -6
  136. package/dist/document-models/workstream/src/tests/document-model.test.d.ts +0 -4
  137. package/dist/document-models/workstream/src/tests/document-model.test.d.ts.map +1 -1
  138. package/dist/document-models/workstream/src/tests/document-model.test.js +3 -89
  139. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts +5 -0
  140. package/dist/document-models/workstream/src/tests/proposals-reducers.test.d.ts.map +1 -0
  141. package/dist/document-models/workstream/src/tests/proposals-reducers.test.js +318 -0
  142. package/dist/document-models/workstream/src/tests/proposals.test.js +25 -26
  143. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts +5 -0
  144. package/dist/document-models/workstream/src/tests/workstream-reducers.test.d.ts.map +1 -0
  145. package/dist/document-models/workstream/src/tests/workstream-reducers.test.js +210 -0
  146. package/dist/document-models/workstream/src/tests/workstream.test.js +29 -34
  147. package/dist/editors/hooks/useNetworkProfileDocument.d.ts +4 -0
  148. package/dist/editors/hooks/useNetworkProfileDocument.d.ts.map +1 -0
  149. package/dist/editors/hooks/useNetworkProfileDocument.js +8 -0
  150. package/dist/editors/hooks/usePaymentTermsDocument.d.ts +4 -0
  151. package/dist/editors/hooks/usePaymentTermsDocument.d.ts.map +1 -0
  152. package/dist/editors/hooks/usePaymentTermsDocument.js +8 -0
  153. package/dist/editors/hooks/useRequestForProposalsDocument.d.ts +4 -0
  154. package/dist/editors/hooks/useRequestForProposalsDocument.d.ts.map +1 -0
  155. package/dist/editors/hooks/useRequestForProposalsDocument.js +8 -0
  156. package/dist/editors/hooks/useWorkstreamDocument.d.ts +4 -0
  157. package/dist/editors/hooks/useWorkstreamDocument.d.ts.map +1 -0
  158. package/dist/editors/hooks/useWorkstreamDocument.js +8 -0
  159. package/dist/editors/index.d.ts +6 -6
  160. package/dist/editors/index.d.ts.map +1 -1
  161. package/dist/editors/index.js +6 -6
  162. package/dist/editors/network-admin/components/CreateDocument.d.ts.map +1 -1
  163. package/dist/editors/network-admin/components/CreateDocument.js +12 -8
  164. package/dist/editors/network-admin/components/DriveExplorer.d.ts +1 -1
  165. package/dist/editors/network-admin/components/DriveExplorer.d.ts.map +1 -1
  166. package/dist/editors/network-admin/components/DriveExplorer.js +230 -53
  167. package/dist/editors/network-admin/components/FolderTree.d.ts +1 -9
  168. package/dist/editors/network-admin/components/FolderTree.d.ts.map +1 -1
  169. package/dist/editors/network-admin/components/FolderTree.js +55 -216
  170. package/dist/editors/network-admin/components/icons/PaymentIcon.d.ts.map +1 -1
  171. package/dist/editors/network-admin/components/icons/RfpIcon.d.ts.map +1 -1
  172. package/dist/editors/network-admin/components/icons/SowIcon.d.ts.map +1 -1
  173. package/dist/editors/network-admin/components/icons/WorkstreamIcon.d.ts.map +1 -1
  174. package/dist/editors/network-admin/config.d.ts +0 -1
  175. package/dist/editors/network-admin/config.d.ts.map +1 -1
  176. package/dist/editors/network-admin/config.js +1 -1
  177. package/dist/editors/network-admin/editor.d.ts +1 -2
  178. package/dist/editors/network-admin/editor.d.ts.map +1 -1
  179. package/dist/editors/network-admin/editor.js +1 -4
  180. package/dist/editors/network-admin/index.d.ts +3 -0
  181. package/dist/editors/network-admin/index.d.ts.map +1 -0
  182. package/dist/editors/network-admin/index.js +10 -0
  183. package/dist/editors/network-profile/editor.d.ts +1 -1
  184. package/dist/editors/network-profile/editor.d.ts.map +1 -1
  185. package/dist/editors/network-profile/editor.js +13 -45
  186. package/dist/editors/network-profile/index.d.ts +4 -0
  187. package/dist/editors/network-profile/index.d.ts.map +1 -0
  188. package/dist/editors/network-profile/index.js +10 -0
  189. package/dist/editors/payment-terms/basic-terms-tab.d.ts +10 -0
  190. package/dist/editors/payment-terms/basic-terms-tab.d.ts.map +1 -0
  191. package/dist/editors/payment-terms/basic-terms-tab.js +89 -0
  192. package/dist/editors/payment-terms/clauses-tab.d.ts +12 -0
  193. package/dist/editors/payment-terms/clauses-tab.d.ts.map +1 -0
  194. package/dist/editors/payment-terms/clauses-tab.js +213 -0
  195. package/dist/editors/payment-terms/cost-materials-tab.d.ts +10 -0
  196. package/dist/editors/payment-terms/cost-materials-tab.d.ts.map +1 -0
  197. package/dist/editors/payment-terms/cost-materials-tab.js +63 -0
  198. package/dist/editors/payment-terms/editor.d.ts +2 -0
  199. package/dist/editors/payment-terms/editor.d.ts.map +1 -1
  200. package/dist/editors/payment-terms/editor.js +55 -39
  201. package/dist/editors/payment-terms/escrow-tab.d.ts +10 -0
  202. package/dist/editors/payment-terms/escrow-tab.d.ts.map +1 -0
  203. package/dist/editors/payment-terms/escrow-tab.js +57 -0
  204. package/dist/editors/payment-terms/evaluation-tab.d.ts +10 -0
  205. package/dist/editors/payment-terms/evaluation-tab.d.ts.map +1 -0
  206. package/dist/editors/payment-terms/evaluation-tab.js +63 -0
  207. package/dist/editors/payment-terms/index.d.ts +4 -0
  208. package/dist/editors/payment-terms/index.d.ts.map +1 -0
  209. package/dist/editors/payment-terms/index.js +10 -0
  210. package/dist/editors/payment-terms/milestones-tab.d.ts +10 -0
  211. package/dist/editors/payment-terms/milestones-tab.d.ts.map +1 -0
  212. package/dist/editors/payment-terms/milestones-tab.js +205 -0
  213. package/dist/editors/payment-terms/retainer-tab.d.ts +10 -0
  214. package/dist/editors/payment-terms/retainer-tab.d.ts.map +1 -0
  215. package/dist/editors/payment-terms/retainer-tab.js +91 -0
  216. package/dist/editors/request-for-proposals/editor.d.ts.map +1 -1
  217. package/dist/editors/request-for-proposals/editor.js +4 -4
  218. package/dist/editors/request-for-proposals/index.d.ts +4 -0
  219. package/dist/editors/request-for-proposals/index.d.ts.map +1 -0
  220. package/dist/editors/request-for-proposals/index.js +10 -0
  221. package/dist/editors/request-for-proposals/markdown-editor.d.ts.map +1 -1
  222. package/dist/editors/request-for-proposals/markdown-editor.js +3 -3
  223. package/dist/editors/workstream/editor.d.ts.map +1 -1
  224. package/dist/editors/workstream/editor.js +165 -290
  225. package/dist/editors/workstream/index.d.ts +4 -0
  226. package/dist/editors/workstream/index.d.ts.map +1 -0
  227. package/dist/editors/workstream/index.js +10 -0
  228. package/dist/editors/workstream/project-management-import.d.ts +3 -0
  229. package/dist/editors/workstream/project-management-import.d.ts.map +1 -0
  230. package/dist/editors/workstream/project-management-import.js +5 -0
  231. package/dist/index.d.ts +2 -2
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +4 -2
  234. package/dist/powerhouse.manifest.json +6 -27
  235. package/dist/processors/factory.d.ts +1 -1
  236. package/dist/processors/factory.d.ts.map +1 -1
  237. package/dist/processors/factory.js +1 -1
  238. package/dist/processors/index.d.ts +1 -1
  239. package/dist/processors/index.d.ts.map +1 -1
  240. package/dist/processors/index.js +1 -1
  241. package/dist/processors/workstreams/factory.d.ts.map +1 -1
  242. package/dist/processors/workstreams/factory.js +1 -4
  243. package/dist/processors/workstreams/index.d.ts +2 -4
  244. package/dist/processors/workstreams/index.d.ts.map +1 -1
  245. package/dist/processors/workstreams/index.js +43 -102
  246. package/dist/processors/workstreams/migrations.d.ts.map +1 -1
  247. package/dist/processors/workstreams/migrations.js +15 -12
  248. package/dist/scripts/sow-mirror/mirror_sow_state.js +114 -119
  249. package/dist/style.css +6885 -6085
  250. package/dist/subgraphs/index.d.ts +5 -1
  251. package/dist/subgraphs/index.d.ts.map +1 -1
  252. package/dist/subgraphs/index.js +5 -1
  253. package/dist/subgraphs/network-profile/index.d.ts +11 -0
  254. package/dist/subgraphs/network-profile/index.d.ts.map +1 -0
  255. package/dist/subgraphs/network-profile/index.js +11 -0
  256. package/dist/subgraphs/network-profile/resolvers.d.ts.map +1 -0
  257. package/dist/subgraphs/network-profile/resolvers.js +205 -0
  258. package/dist/subgraphs/network-profile/schema.d.ts.map +1 -0
  259. package/dist/subgraphs/network-profile/schema.js +139 -0
  260. package/dist/subgraphs/networks/resolvers.d.ts +2 -2
  261. package/dist/subgraphs/networks/resolvers.d.ts.map +1 -1
  262. package/dist/subgraphs/networks/resolvers.js +8 -138
  263. package/dist/subgraphs/networks/schema.d.ts.map +1 -1
  264. package/dist/subgraphs/networks/schema.js +1 -66
  265. package/dist/subgraphs/{builders-addon → payment-terms}/index.d.ts +1 -1
  266. package/dist/subgraphs/payment-terms/index.d.ts.map +1 -0
  267. package/dist/subgraphs/{builders-addon → payment-terms}/index.js +2 -2
  268. package/dist/subgraphs/payment-terms/resolvers.d.ts +3 -0
  269. package/dist/subgraphs/payment-terms/resolvers.d.ts.map +1 -0
  270. package/dist/subgraphs/payment-terms/resolvers.js +277 -0
  271. package/dist/subgraphs/payment-terms/schema.d.ts +3 -0
  272. package/dist/subgraphs/payment-terms/schema.d.ts.map +1 -0
  273. package/dist/subgraphs/payment-terms/schema.js +324 -0
  274. package/dist/subgraphs/request-for-proposals/index.d.ts +11 -0
  275. package/dist/subgraphs/request-for-proposals/index.d.ts.map +1 -0
  276. package/dist/subgraphs/request-for-proposals/index.js +11 -0
  277. package/dist/subgraphs/request-for-proposals/resolvers.d.ts +3 -0
  278. package/dist/subgraphs/request-for-proposals/resolvers.d.ts.map +1 -0
  279. package/dist/subgraphs/request-for-proposals/resolvers.js +145 -0
  280. package/dist/subgraphs/request-for-proposals/schema.d.ts +3 -0
  281. package/dist/subgraphs/request-for-proposals/schema.d.ts.map +1 -0
  282. package/dist/subgraphs/request-for-proposals/schema.js +232 -0
  283. package/dist/subgraphs/workstream/index.d.ts +11 -0
  284. package/dist/subgraphs/workstream/index.d.ts.map +1 -0
  285. package/dist/subgraphs/workstream/index.js +11 -0
  286. package/dist/subgraphs/workstream/resolvers.d.ts +3 -0
  287. package/dist/subgraphs/workstream/resolvers.d.ts.map +1 -0
  288. package/dist/subgraphs/workstream/resolvers.js +181 -0
  289. package/dist/subgraphs/workstream/schema.d.ts +3 -0
  290. package/dist/subgraphs/workstream/schema.d.ts.map +1 -0
  291. package/dist/subgraphs/workstream/schema.js +206 -0
  292. package/dist/subgraphs/workstreams/index.d.ts +1 -4
  293. package/dist/subgraphs/workstreams/index.d.ts.map +1 -1
  294. package/dist/subgraphs/workstreams/index.js +0 -6
  295. package/dist/subgraphs/workstreams/resolvers.d.ts.map +1 -1
  296. package/dist/subgraphs/workstreams/resolvers.js +30 -495
  297. package/dist/subgraphs/workstreams/schema.d.ts.map +1 -1
  298. package/dist/subgraphs/workstreams/schema.js +35 -228
  299. package/dist/vite.config.d.ts.map +1 -1
  300. package/dist/vite.config.js +1 -6
  301. package/dist/vitest.config.d.ts +3 -0
  302. package/dist/vitest.config.d.ts.map +1 -0
  303. package/dist/vitest.config.js +8 -0
  304. package/package.json +90 -56
  305. package/dist/document-models/builders/actions.d.ts +0 -14
  306. package/dist/document-models/builders/actions.d.ts.map +0 -1
  307. package/dist/document-models/builders/actions.js +0 -4
  308. package/dist/document-models/builders/gen/actions.d.ts +0 -4
  309. package/dist/document-models/builders/gen/actions.d.ts.map +0 -1
  310. package/dist/document-models/builders/gen/actions.js +0 -1
  311. package/dist/document-models/builders/gen/builders/actions.d.ts +0 -12
  312. package/dist/document-models/builders/gen/builders/actions.d.ts.map +0 -1
  313. package/dist/document-models/builders/gen/builders/actions.js +0 -1
  314. package/dist/document-models/builders/gen/builders/creators.d.ts +0 -5
  315. package/dist/document-models/builders/gen/builders/creators.d.ts.map +0 -1
  316. package/dist/document-models/builders/gen/builders/creators.js +0 -4
  317. package/dist/document-models/builders/gen/builders/error.d.ts +0 -2
  318. package/dist/document-models/builders/gen/builders/error.d.ts.map +0 -1
  319. package/dist/document-models/builders/gen/builders/error.js +0 -1
  320. package/dist/document-models/builders/gen/builders/operations.d.ts +0 -8
  321. package/dist/document-models/builders/gen/builders/operations.d.ts.map +0 -1
  322. package/dist/document-models/builders/gen/builders/operations.js +0 -1
  323. package/dist/document-models/builders/gen/creators.d.ts +0 -3
  324. package/dist/document-models/builders/gen/creators.d.ts.map +0 -1
  325. package/dist/document-models/builders/gen/creators.js +0 -2
  326. package/dist/document-models/builders/gen/document-model.d.ts +0 -3
  327. package/dist/document-models/builders/gen/document-model.d.ts.map +0 -1
  328. package/dist/document-models/builders/gen/document-model.js +0 -59
  329. package/dist/document-models/builders/gen/document-schema.d.ts +0 -44
  330. package/dist/document-models/builders/gen/document-schema.d.ts.map +0 -1
  331. package/dist/document-models/builders/gen/document-schema.js +0 -33
  332. package/dist/document-models/builders/gen/document-type.d.ts +0 -2
  333. package/dist/document-models/builders/gen/document-type.d.ts.map +0 -1
  334. package/dist/document-models/builders/gen/document-type.js +0 -1
  335. package/dist/document-models/builders/gen/index.d.ts +0 -12
  336. package/dist/document-models/builders/gen/index.d.ts.map +0 -1
  337. package/dist/document-models/builders/gen/index.js +0 -11
  338. package/dist/document-models/builders/gen/ph-factories.d.ts +0 -23
  339. package/dist/document-models/builders/gen/ph-factories.d.ts.map +0 -1
  340. package/dist/document-models/builders/gen/ph-factories.js +0 -47
  341. package/dist/document-models/builders/gen/reducer.d.ts +0 -3
  342. package/dist/document-models/builders/gen/reducer.d.ts.map +0 -1
  343. package/dist/document-models/builders/gen/reducer.js +0 -23
  344. package/dist/document-models/builders/gen/schema/index.d.ts +0 -3
  345. package/dist/document-models/builders/gen/schema/index.d.ts.map +0 -1
  346. package/dist/document-models/builders/gen/schema/index.js +0 -2
  347. package/dist/document-models/builders/gen/schema/types.d.ts +0 -158
  348. package/dist/document-models/builders/gen/schema/types.d.ts.map +0 -1
  349. package/dist/document-models/builders/gen/schema/types.js +0 -1
  350. package/dist/document-models/builders/gen/schema/zod.d.ts +0 -13
  351. package/dist/document-models/builders/gen/schema/zod.d.ts.map +0 -1
  352. package/dist/document-models/builders/gen/schema/zod.js +0 -21
  353. package/dist/document-models/builders/gen/types.d.ts +0 -12
  354. package/dist/document-models/builders/gen/types.d.ts.map +0 -1
  355. package/dist/document-models/builders/gen/types.js +0 -1
  356. package/dist/document-models/builders/gen/utils.d.ts +0 -15
  357. package/dist/document-models/builders/gen/utils.d.ts.map +0 -1
  358. package/dist/document-models/builders/gen/utils.js +0 -51
  359. package/dist/document-models/builders/hooks.d.ts +0 -14
  360. package/dist/document-models/builders/hooks.d.ts.map +0 -1
  361. package/dist/document-models/builders/hooks.js +0 -25
  362. package/dist/document-models/builders/index.d.ts +0 -6
  363. package/dist/document-models/builders/index.d.ts.map +0 -1
  364. package/dist/document-models/builders/index.js +0 -5
  365. package/dist/document-models/builders/module.d.ts +0 -5
  366. package/dist/document-models/builders/module.d.ts.map +0 -1
  367. package/dist/document-models/builders/module.js +0 -11
  368. package/dist/document-models/builders/src/index.d.ts +0 -2
  369. package/dist/document-models/builders/src/index.d.ts.map +0 -1
  370. package/dist/document-models/builders/src/index.js +0 -1
  371. package/dist/document-models/builders/src/reducers/builders.d.ts +0 -3
  372. package/dist/document-models/builders/src/reducers/builders.d.ts.map +0 -1
  373. package/dist/document-models/builders/src/reducers/builders.js +0 -8
  374. package/dist/document-models/builders/src/tests/builders.test.d.ts +0 -6
  375. package/dist/document-models/builders/src/tests/builders.test.d.ts.map +0 -1
  376. package/dist/document-models/builders/src/tests/builders.test.js +0 -29
  377. package/dist/document-models/builders/src/tests/document-model.test.d.ts +0 -10
  378. package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +0 -1
  379. package/dist/document-models/builders/src/tests/document-model.test.js +0 -104
  380. package/dist/document-models/builders/src/utils.d.ts +0 -2
  381. package/dist/document-models/builders/src/utils.d.ts.map +0 -1
  382. package/dist/document-models/builders/src/utils.js +0 -1
  383. package/dist/document-models/builders/tests/builders.test.d.ts +0 -2
  384. package/dist/document-models/builders/tests/builders.test.d.ts.map +0 -1
  385. package/dist/document-models/builders/tests/builders.test.js +0 -25
  386. package/dist/document-models/builders/tests/document-model.test.d.ts +0 -10
  387. package/dist/document-models/builders/tests/document-model.test.d.ts.map +0 -1
  388. package/dist/document-models/builders/tests/document-model.test.js +0 -104
  389. package/dist/document-models/builders/utils.d.ts +0 -14
  390. package/dist/document-models/builders/utils.d.ts.map +0 -1
  391. package/dist/document-models/builders/utils.js +0 -7
  392. package/dist/document-models/network-profile/gen/document-schema.d.ts +0 -80
  393. package/dist/document-models/network-profile/gen/document-schema.d.ts.map +0 -1
  394. package/dist/document-models/payment-terms/gen/document-schema.d.ts +0 -95
  395. package/dist/document-models/payment-terms/gen/document-schema.d.ts.map +0 -1
  396. package/dist/document-models/request-for-proposals/gen/document-schema.d.ts +0 -83
  397. package/dist/document-models/request-for-proposals/gen/document-schema.d.ts.map +0 -1
  398. package/dist/document-models/workstream/gen/document-schema.d.ts +0 -71
  399. package/dist/document-models/workstream/gen/document-schema.d.ts.map +0 -1
  400. package/dist/editors/builders/editor.d.ts +0 -3
  401. package/dist/editors/builders/editor.d.ts.map +0 -1
  402. package/dist/editors/builders/editor.js +0 -285
  403. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts +0 -20
  404. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.d.ts.map +0 -1
  405. package/dist/editors/builders/hooks/useRemoteBuilderProfiles.js +0 -57
  406. package/dist/editors/builders/module.d.ts +0 -4
  407. package/dist/editors/builders/module.d.ts.map +0 -1
  408. package/dist/editors/builders/module.js +0 -10
  409. package/dist/editors/builders/utils/graphql-client.d.ts +0 -41
  410. package/dist/editors/builders/utils/graphql-client.d.ts.map +0 -1
  411. package/dist/editors/builders/utils/graphql-client.js +0 -189
  412. package/dist/editors/editors.d.ts +0 -3
  413. package/dist/editors/editors.d.ts.map +0 -1
  414. package/dist/editors/editors.js +0 -14
  415. package/dist/editors/network-admin/components/DriveContents.d.ts +0 -3
  416. package/dist/editors/network-admin/components/DriveContents.d.ts.map +0 -1
  417. package/dist/editors/network-admin/components/DriveContents.js +0 -10
  418. package/dist/editors/network-admin/components/EmptyState.d.ts +0 -3
  419. package/dist/editors/network-admin/components/EmptyState.d.ts.map +0 -1
  420. package/dist/editors/network-admin/components/EmptyState.js +0 -10
  421. package/dist/editors/network-admin/components/Files.d.ts +0 -3
  422. package/dist/editors/network-admin/components/Files.d.ts.map +0 -1
  423. package/dist/editors/network-admin/components/Files.js +0 -12
  424. package/dist/editors/network-admin/components/Folders.d.ts +0 -3
  425. package/dist/editors/network-admin/components/Folders.d.ts.map +0 -1
  426. package/dist/editors/network-admin/components/Folders.js +0 -12
  427. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts +0 -3
  428. package/dist/editors/network-admin/components/NavigationBreadcrumbs.d.ts.map +0 -1
  429. package/dist/editors/network-admin/components/NavigationBreadcrumbs.js +0 -6
  430. package/dist/editors/network-admin/module.d.ts +0 -4
  431. package/dist/editors/network-admin/module.d.ts.map +0 -1
  432. package/dist/editors/network-admin/module.js +0 -10
  433. package/dist/editors/network-profile/components/EditName.d.ts +0 -3
  434. package/dist/editors/network-profile/components/EditName.d.ts.map +0 -1
  435. package/dist/editors/network-profile/components/EditName.js +0 -31
  436. package/dist/editors/network-profile/module.d.ts +0 -4
  437. package/dist/editors/network-profile/module.d.ts.map +0 -1
  438. package/dist/editors/network-profile/module.js +0 -10
  439. package/dist/editors/payment-terms/components/clauses-section.d.ts +0 -12
  440. package/dist/editors/payment-terms/components/clauses-section.d.ts.map +0 -1
  441. package/dist/editors/payment-terms/components/clauses-section.js +0 -269
  442. package/dist/editors/payment-terms/components/escrow-section.d.ts +0 -13
  443. package/dist/editors/payment-terms/components/escrow-section.d.ts.map +0 -1
  444. package/dist/editors/payment-terms/components/escrow-section.js +0 -72
  445. package/dist/editors/payment-terms/components/evaluation-section.d.ts +0 -13
  446. package/dist/editors/payment-terms/components/evaluation-section.d.ts.map +0 -1
  447. package/dist/editors/payment-terms/components/evaluation-section.js +0 -94
  448. package/dist/editors/payment-terms/components/header-section.d.ts +0 -16
  449. package/dist/editors/payment-terms/components/header-section.d.ts.map +0 -1
  450. package/dist/editors/payment-terms/components/header-section.js +0 -67
  451. package/dist/editors/payment-terms/components/milestones-section.d.ts +0 -11
  452. package/dist/editors/payment-terms/components/milestones-section.d.ts.map +0 -1
  453. package/dist/editors/payment-terms/components/milestones-section.js +0 -236
  454. package/dist/editors/payment-terms/components/parties-section.d.ts +0 -11
  455. package/dist/editors/payment-terms/components/parties-section.d.ts.map +0 -1
  456. package/dist/editors/payment-terms/components/parties-section.js +0 -36
  457. package/dist/editors/payment-terms/components/payment-config-section.d.ts +0 -11
  458. package/dist/editors/payment-terms/components/payment-config-section.d.ts.map +0 -1
  459. package/dist/editors/payment-terms/components/payment-config-section.js +0 -68
  460. package/dist/editors/payment-terms/components/time-materials-section.d.ts +0 -11
  461. package/dist/editors/payment-terms/components/time-materials-section.d.ts.map +0 -1
  462. package/dist/editors/payment-terms/components/time-materials-section.js +0 -68
  463. package/dist/editors/payment-terms/module.d.ts +0 -4
  464. package/dist/editors/payment-terms/module.d.ts.map +0 -1
  465. package/dist/editors/payment-terms/module.js +0 -10
  466. package/dist/editors/request-for-proposals/components/EditName.d.ts +0 -3
  467. package/dist/editors/request-for-proposals/components/EditName.d.ts.map +0 -1
  468. package/dist/editors/request-for-proposals/components/EditName.js +0 -31
  469. package/dist/editors/request-for-proposals/module.d.ts +0 -4
  470. package/dist/editors/request-for-proposals/module.d.ts.map +0 -1
  471. package/dist/editors/request-for-proposals/module.js +0 -10
  472. package/dist/editors/workstream/module.d.ts +0 -4
  473. package/dist/editors/workstream/module.d.ts.map +0 -1
  474. package/dist/editors/workstream/module.js +0 -10
  475. package/dist/subgraphs/builders-addon/index.d.ts.map +0 -1
  476. package/dist/subgraphs/builders-addon/resolvers.d.ts.map +0 -1
  477. package/dist/subgraphs/builders-addon/resolvers.js +0 -376
  478. package/dist/subgraphs/builders-addon/schema.d.ts.map +0 -1
  479. package/dist/subgraphs/builders-addon/schema.js +0 -209
  480. /package/dist/subgraphs/{builders-addon → network-profile}/resolvers.d.ts +0 -0
  481. /package/dist/subgraphs/{builders-addon → network-profile}/schema.d.ts +0 -0
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Comprehensive tests for Proposals reducers
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=proposals-reducers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposals-reducers.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/workstream/src/tests/proposals-reducers.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,318 @@
1
+ /**
2
+ * Comprehensive tests for Proposals reducers
3
+ */
4
+ import { describe, it, expect, beforeEach } from "vitest";
5
+ import { generateMock } from "@powerhousedao/codegen";
6
+ import utils from "../../gen/utils.js";
7
+ import { z, } from "../../gen/schema/index.js";
8
+ import { reducer } from "../../gen/reducer.js";
9
+ import * as creators from "../../gen/proposals/creators.js";
10
+ describe("Proposals Reducers - State Changes", () => {
11
+ let document;
12
+ beforeEach(() => {
13
+ document = utils.createDocument();
14
+ });
15
+ describe("editInitialProposal", () => {
16
+ it("should create initial proposal when it doesn't exist", () => {
17
+ const author = {
18
+ id: "author-123",
19
+ name: "John Doe",
20
+ icon: "https://example.com/avatar.jpg",
21
+ };
22
+ const input = {
23
+ id: "proposal-123",
24
+ sowId: "sow-456",
25
+ paymentTermsId: "terms-789",
26
+ status: "SUBMITTED",
27
+ proposalAuthor: author,
28
+ };
29
+ const updatedDocument = reducer(document, creators.editInitialProposal(input));
30
+ const proposal = updatedDocument.state.global.initialProposal;
31
+ expect(proposal).toBeDefined();
32
+ expect(proposal.id).toBe("proposal-123");
33
+ expect(proposal.sow).toBe("sow-456");
34
+ expect(proposal.paymentTerms).toBe("terms-789");
35
+ expect(proposal.status).toBe("SUBMITTED");
36
+ expect(proposal.author.id).toBe("author-123");
37
+ expect(proposal.author.name).toBe("John Doe");
38
+ expect(proposal.author.icon).toBe("https://example.com/avatar.jpg");
39
+ });
40
+ it("should update existing initial proposal", () => {
41
+ // First create initial proposal
42
+ const firstUpdate = reducer(document, creators.editInitialProposal({
43
+ id: "proposal-123",
44
+ status: "DRAFT",
45
+ }));
46
+ // Then update it
47
+ const input = {
48
+ id: "proposal-456",
49
+ sowId: "sow-789",
50
+ status: "SUBMITTED",
51
+ proposalAuthor: {
52
+ id: "author-999",
53
+ name: "Jane Smith",
54
+ },
55
+ };
56
+ const finalDocument = reducer(firstUpdate, creators.editInitialProposal(input));
57
+ const proposal = finalDocument.state.global.initialProposal;
58
+ expect(proposal.id).toBe("proposal-456");
59
+ expect(proposal.sow).toBe("sow-789");
60
+ expect(proposal.status).toBe("SUBMITTED");
61
+ expect(proposal.author.id).toBe("author-999");
62
+ expect(proposal.author.name).toBe("Jane Smith");
63
+ });
64
+ it("should handle optional fields correctly", () => {
65
+ const input = {
66
+ id: "proposal-123",
67
+ sowId: undefined,
68
+ paymentTermsId: null,
69
+ status: undefined,
70
+ proposalAuthor: undefined,
71
+ };
72
+ const updatedDocument = reducer(document, creators.editInitialProposal(input));
73
+ const proposal = updatedDocument.state.global.initialProposal;
74
+ expect(proposal.id).toBe("proposal-123");
75
+ expect(proposal.sow).toBe(""); // Empty when undefined
76
+ expect(proposal.paymentTerms).toBe(""); // Empty when null
77
+ expect(proposal.status).toBe("DRAFT"); // Default when undefined
78
+ });
79
+ it("should handle empty string values", () => {
80
+ const input = {
81
+ id: "proposal-123",
82
+ sowId: "",
83
+ paymentTermsId: "",
84
+ };
85
+ const updatedDocument = reducer(document, creators.editInitialProposal(input));
86
+ const proposal = updatedDocument.state.global.initialProposal;
87
+ expect(proposal.sow).toBe("");
88
+ expect(proposal.paymentTerms).toBe("");
89
+ });
90
+ it("should handle author with null/undefined optional fields", () => {
91
+ const input = {
92
+ id: "proposal-123",
93
+ proposalAuthor: {
94
+ id: "author-123",
95
+ name: null,
96
+ icon: undefined,
97
+ },
98
+ };
99
+ const updatedDocument = reducer(document, creators.editInitialProposal(input));
100
+ const proposal = updatedDocument.state.global.initialProposal;
101
+ expect(proposal.author.id).toBe("author-123");
102
+ expect(proposal.author.name).toBe(null);
103
+ expect(proposal.author.icon).toBe(null);
104
+ });
105
+ });
106
+ describe("addAlternativeProposal", () => {
107
+ it("should add new alternative proposal", () => {
108
+ const author = {
109
+ id: "author-123",
110
+ name: "Alternative Author",
111
+ icon: "https://example.com/alt-avatar.jpg",
112
+ };
113
+ const input = {
114
+ id: "alt-proposal-123",
115
+ sowId: "sow-456",
116
+ paymentTermsId: "terms-789",
117
+ status: "DRAFT",
118
+ proposalAuthor: author,
119
+ };
120
+ const updatedDocument = reducer(document, creators.addAlternativeProposal(input));
121
+ expect(updatedDocument.state.global.alternativeProposals).toHaveLength(1);
122
+ const proposal = updatedDocument.state.global.alternativeProposals[0];
123
+ expect(proposal.id).toBe("alt-proposal-123");
124
+ expect(proposal.sow).toBe("sow-456");
125
+ expect(proposal.paymentTerms).toBe("terms-789");
126
+ expect(proposal.status).toBe("DRAFT");
127
+ expect(proposal.author.id).toBe("author-123");
128
+ expect(proposal.author.name).toBe("Alternative Author");
129
+ expect(proposal.author.icon).toBe("https://example.com/alt-avatar.jpg");
130
+ });
131
+ it("should add multiple alternative proposals", () => {
132
+ let currentDocument = document;
133
+ // Add first proposal
134
+ currentDocument = reducer(currentDocument, creators.addAlternativeProposal({
135
+ id: "alt-proposal-1",
136
+ status: "DRAFT",
137
+ }));
138
+ // Add second proposal
139
+ currentDocument = reducer(currentDocument, creators.addAlternativeProposal({
140
+ id: "alt-proposal-2",
141
+ status: "SUBMITTED",
142
+ }));
143
+ expect(currentDocument.state.global.alternativeProposals).toHaveLength(2);
144
+ expect(currentDocument.state.global.alternativeProposals[0].id).toBe("alt-proposal-1");
145
+ expect(currentDocument.state.global.alternativeProposals[1].id).toBe("alt-proposal-2");
146
+ });
147
+ it("should not add proposal if ID already exists", () => {
148
+ let currentDocument = document;
149
+ // Add proposal
150
+ currentDocument = reducer(currentDocument, creators.addAlternativeProposal({
151
+ id: "alt-proposal-1",
152
+ status: "DRAFT",
153
+ }));
154
+ // Try to add proposal with same ID
155
+ currentDocument = reducer(currentDocument, creators.addAlternativeProposal({
156
+ id: "alt-proposal-1",
157
+ status: "SUBMITTED",
158
+ }));
159
+ expect(currentDocument.state.global.alternativeProposals).toHaveLength(1);
160
+ expect(currentDocument.state.global.alternativeProposals[0].status).toBe("DRAFT"); // Unchanged
161
+ });
162
+ it("should handle optional fields with defaults", () => {
163
+ const input = {
164
+ id: "alt-proposal-123",
165
+ sowId: undefined,
166
+ paymentTermsId: null,
167
+ status: undefined,
168
+ proposalAuthor: undefined,
169
+ };
170
+ const updatedDocument = reducer(document, creators.addAlternativeProposal(input));
171
+ const proposal = updatedDocument.state.global.alternativeProposals[0];
172
+ expect(proposal.sow).toBe("");
173
+ expect(proposal.paymentTerms).toBe("");
174
+ expect(proposal.status).toBe("DRAFT");
175
+ expect(proposal.author.id).toBe("");
176
+ expect(proposal.author.name).toBe(null);
177
+ expect(proposal.author.icon).toBe(null);
178
+ });
179
+ });
180
+ describe("editAlternativeProposal", () => {
181
+ beforeEach(() => {
182
+ // Add a proposal to edit
183
+ document = reducer(document, creators.addAlternativeProposal({
184
+ id: "alt-proposal-123",
185
+ sowId: "initial-sow",
186
+ status: "DRAFT",
187
+ proposalAuthor: {
188
+ id: "initial-author",
189
+ name: "Initial Author",
190
+ },
191
+ }));
192
+ });
193
+ it("should edit existing alternative proposal", () => {
194
+ const input = {
195
+ id: "alt-proposal-123",
196
+ sowId: "updated-sow",
197
+ paymentTermsId: "updated-terms",
198
+ status: "SUBMITTED",
199
+ proposalAuthor: {
200
+ id: "updated-author",
201
+ name: "Updated Author",
202
+ icon: "https://example.com/updated-avatar.jpg",
203
+ },
204
+ };
205
+ const updatedDocument = reducer(document, creators.editAlternativeProposal(input));
206
+ const proposal = updatedDocument.state.global.alternativeProposals[0];
207
+ expect(proposal.sow).toBe("updated-sow");
208
+ expect(proposal.paymentTerms).toBe("updated-terms");
209
+ expect(proposal.status).toBe("SUBMITTED");
210
+ expect(proposal.author.id).toBe("updated-author");
211
+ expect(proposal.author.name).toBe("Updated Author");
212
+ expect(proposal.author.icon).toBe("https://example.com/updated-avatar.jpg");
213
+ });
214
+ it("should update only provided fields", () => {
215
+ const input = {
216
+ id: "alt-proposal-123",
217
+ status: "ACCEPTED",
218
+ };
219
+ const updatedDocument = reducer(document, creators.editAlternativeProposal(input));
220
+ const proposal = updatedDocument.state.global.alternativeProposals[0];
221
+ expect(proposal.sow).toBe("initial-sow"); // Unchanged
222
+ expect(proposal.status).toBe("ACCEPTED"); // Changed
223
+ expect(proposal.author.name).toBe("Initial Author"); // Unchanged
224
+ });
225
+ it("should handle non-existent proposal ID gracefully", () => {
226
+ const input = {
227
+ id: "non-existent-proposal",
228
+ status: "SUBMITTED",
229
+ };
230
+ const updatedDocument = reducer(document, creators.editAlternativeProposal(input));
231
+ // Original proposal should remain unchanged
232
+ const proposal = updatedDocument.state.global.alternativeProposals[0];
233
+ expect(proposal.id).toBe("alt-proposal-123");
234
+ expect(proposal.status).toBe("DRAFT"); // Unchanged
235
+ });
236
+ it("should handle optional field updates", () => {
237
+ const input = {
238
+ id: "alt-proposal-123",
239
+ sowId: "",
240
+ paymentTermsId: null,
241
+ status: undefined,
242
+ proposalAuthor: undefined,
243
+ };
244
+ const updatedDocument = reducer(document, creators.editAlternativeProposal(input));
245
+ const proposal = updatedDocument.state.global.alternativeProposals[0];
246
+ expect(proposal.sow).toBe("");
247
+ expect(proposal.paymentTerms).toBe("");
248
+ expect(proposal.status).toBe("DRAFT"); // Default when undefined
249
+ });
250
+ });
251
+ describe("removeAlternativeProposal", () => {
252
+ beforeEach(() => {
253
+ // Add multiple proposals to test removal
254
+ document = reducer(document, creators.addAlternativeProposal({
255
+ id: "alt-proposal-1",
256
+ status: "DRAFT",
257
+ }));
258
+ document = reducer(document, creators.addAlternativeProposal({
259
+ id: "alt-proposal-2",
260
+ status: "SUBMITTED",
261
+ }));
262
+ document = reducer(document, creators.addAlternativeProposal({
263
+ id: "alt-proposal-3",
264
+ status: "ACCEPTED",
265
+ }));
266
+ });
267
+ it("should remove existing alternative proposal", () => {
268
+ const input = {
269
+ id: "alt-proposal-2",
270
+ };
271
+ const updatedDocument = reducer(document, creators.removeAlternativeProposal(input));
272
+ expect(updatedDocument.state.global.alternativeProposals).toHaveLength(2);
273
+ const remainingIds = updatedDocument.state.global.alternativeProposals.map((p) => p.id);
274
+ expect(remainingIds).toContain("alt-proposal-1");
275
+ expect(remainingIds).toContain("alt-proposal-3");
276
+ expect(remainingIds).not.toContain("alt-proposal-2");
277
+ });
278
+ it("should handle removal of non-existent proposal gracefully", () => {
279
+ const input = {
280
+ id: "non-existent-proposal",
281
+ };
282
+ const updatedDocument = reducer(document, creators.removeAlternativeProposal(input));
283
+ // All original proposals should remain
284
+ expect(updatedDocument.state.global.alternativeProposals).toHaveLength(3);
285
+ const remainingIds = updatedDocument.state.global.alternativeProposals.map((p) => p.id);
286
+ expect(remainingIds).toContain("alt-proposal-1");
287
+ expect(remainingIds).toContain("alt-proposal-2");
288
+ expect(remainingIds).toContain("alt-proposal-3");
289
+ });
290
+ it("should handle removal from empty array gracefully", () => {
291
+ // Start with empty document
292
+ const emptyDocument = utils.createDocument();
293
+ const input = {
294
+ id: "any-proposal",
295
+ };
296
+ const updatedDocument = reducer(emptyDocument, creators.removeAlternativeProposal(input));
297
+ expect(updatedDocument.state.global.alternativeProposals).toHaveLength(0);
298
+ });
299
+ it("should remove first proposal correctly", () => {
300
+ const input = {
301
+ id: "alt-proposal-1",
302
+ };
303
+ const updatedDocument = reducer(document, creators.removeAlternativeProposal(input));
304
+ expect(updatedDocument.state.global.alternativeProposals).toHaveLength(2);
305
+ expect(updatedDocument.state.global.alternativeProposals[0].id).toBe("alt-proposal-2");
306
+ expect(updatedDocument.state.global.alternativeProposals[1].id).toBe("alt-proposal-3");
307
+ });
308
+ it("should remove last proposal correctly", () => {
309
+ const input = {
310
+ id: "alt-proposal-3",
311
+ };
312
+ const updatedDocument = reducer(document, creators.removeAlternativeProposal(input));
313
+ expect(updatedDocument.state.global.alternativeProposals).toHaveLength(2);
314
+ expect(updatedDocument.state.global.alternativeProposals[0].id).toBe("alt-proposal-1");
315
+ expect(updatedDocument.state.global.alternativeProposals[1].id).toBe("alt-proposal-2");
316
+ });
317
+ });
318
+ });
@@ -2,48 +2,47 @@
2
2
  * This is a scaffold file meant for customization:
3
3
  * - change it by adding new tests or modifying the existing ones
4
4
  */
5
- import { describe, it, expect } from "vitest";
5
+ import { describe, it, expect, beforeEach } from "vitest";
6
6
  import { generateMock } from "@powerhousedao/codegen";
7
- import { reducer, utils, isWorkstreamDocument, editInitialProposal, EditInitialProposalInputSchema, addAlternativeProposal, AddAlternativeProposalInputSchema, editAlternativeProposal, EditAlternativeProposalInputSchema, removeAlternativeProposal, RemoveAlternativeProposalInputSchema, } from "@powerhousedao/network-admin/document-models/workstream";
7
+ import utils from "../../gen/utils.js";
8
+ import { z, } from "../../gen/schema/index.js";
9
+ import { reducer } from "../../gen/reducer.js";
10
+ import * as creators from "../../gen/proposals/creators.js";
8
11
  describe("Proposals Operations", () => {
12
+ let document;
13
+ beforeEach(() => {
14
+ document = utils.createDocument();
15
+ });
9
16
  it("should handle editInitialProposal operation", () => {
10
- const document = utils.createDocument();
11
- const input = generateMock(EditInitialProposalInputSchema());
12
- const updatedDocument = reducer(document, editInitialProposal(input));
13
- expect(isWorkstreamDocument(updatedDocument)).toBe(true);
17
+ const input = generateMock(z.EditInitialProposalInputSchema());
18
+ const updatedDocument = reducer(document, creators.editInitialProposal(input));
14
19
  expect(updatedDocument.operations.global).toHaveLength(1);
15
- expect(updatedDocument.operations.global[0].action.type).toBe("EDIT_INITIAL_PROPOSAL");
16
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
20
+ expect(updatedDocument.operations.global[0].type).toBe("EDIT_INITIAL_PROPOSAL");
21
+ expect(updatedDocument.operations.global[0].input).toStrictEqual(input);
17
22
  expect(updatedDocument.operations.global[0].index).toEqual(0);
18
23
  });
19
24
  it("should handle addAlternativeProposal operation", () => {
20
- const document = utils.createDocument();
21
- const input = generateMock(AddAlternativeProposalInputSchema());
22
- const updatedDocument = reducer(document, addAlternativeProposal(input));
23
- expect(isWorkstreamDocument(updatedDocument)).toBe(true);
25
+ const input = generateMock(z.AddAlternativeProposalInputSchema());
26
+ const updatedDocument = reducer(document, creators.addAlternativeProposal(input));
24
27
  expect(updatedDocument.operations.global).toHaveLength(1);
25
- expect(updatedDocument.operations.global[0].action.type).toBe("ADD_ALTERNATIVE_PROPOSAL");
26
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
28
+ expect(updatedDocument.operations.global[0].type).toBe("ADD_ALTERNATIVE_PROPOSAL");
29
+ expect(updatedDocument.operations.global[0].input).toStrictEqual(input);
27
30
  expect(updatedDocument.operations.global[0].index).toEqual(0);
28
31
  });
29
32
  it("should handle editAlternativeProposal operation", () => {
30
- const document = utils.createDocument();
31
- const input = generateMock(EditAlternativeProposalInputSchema());
32
- const updatedDocument = reducer(document, editAlternativeProposal(input));
33
- expect(isWorkstreamDocument(updatedDocument)).toBe(true);
33
+ const input = generateMock(z.EditAlternativeProposalInputSchema());
34
+ const updatedDocument = reducer(document, creators.editAlternativeProposal(input));
34
35
  expect(updatedDocument.operations.global).toHaveLength(1);
35
- expect(updatedDocument.operations.global[0].action.type).toBe("EDIT_ALTERNATIVE_PROPOSAL");
36
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
36
+ expect(updatedDocument.operations.global[0].type).toBe("EDIT_ALTERNATIVE_PROPOSAL");
37
+ expect(updatedDocument.operations.global[0].input).toStrictEqual(input);
37
38
  expect(updatedDocument.operations.global[0].index).toEqual(0);
38
39
  });
39
40
  it("should handle removeAlternativeProposal operation", () => {
40
- const document = utils.createDocument();
41
- const input = generateMock(RemoveAlternativeProposalInputSchema());
42
- const updatedDocument = reducer(document, removeAlternativeProposal(input));
43
- expect(isWorkstreamDocument(updatedDocument)).toBe(true);
41
+ const input = generateMock(z.RemoveAlternativeProposalInputSchema());
42
+ const updatedDocument = reducer(document, creators.removeAlternativeProposal(input));
44
43
  expect(updatedDocument.operations.global).toHaveLength(1);
45
- expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_ALTERNATIVE_PROPOSAL");
46
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
44
+ expect(updatedDocument.operations.global[0].type).toBe("REMOVE_ALTERNATIVE_PROPOSAL");
45
+ expect(updatedDocument.operations.global[0].input).toStrictEqual(input);
47
46
  expect(updatedDocument.operations.global[0].index).toEqual(0);
48
47
  });
49
48
  });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Comprehensive tests for Workstream reducers
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=workstream-reducers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workstream-reducers.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/workstream/src/tests/workstream-reducers.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Comprehensive tests for Workstream reducers
3
+ */
4
+ import { describe, it, expect, beforeEach } from "vitest";
5
+ import { generateMock } from "@powerhousedao/codegen";
6
+ import utils from "../../gen/utils.js";
7
+ import { z, } from "../../gen/schema/index.js";
8
+ import { reducer } from "../../gen/reducer.js";
9
+ import * as creators from "../../gen/workstream/creators.js";
10
+ describe("Workstream Reducers - State Changes", () => {
11
+ let document;
12
+ beforeEach(() => {
13
+ document = utils.createDocument();
14
+ });
15
+ describe("editWorkstream", () => {
16
+ it("should update all workstream fields when provided", () => {
17
+ const input = {
18
+ code: "WS-001",
19
+ title: "Test Workstream",
20
+ status: "IN_PROGRESS",
21
+ sowId: "sow-123",
22
+ paymentTerms: "terms-456",
23
+ };
24
+ const updatedDocument = reducer(document, creators.editWorkstream(input));
25
+ expect(updatedDocument.state.global.code).toBe("WS-001");
26
+ expect(updatedDocument.state.global.title).toBe("Test Workstream");
27
+ expect(updatedDocument.state.global.status).toBe("IN_PROGRESS");
28
+ expect(updatedDocument.state.global.sow).toBe("sow-123");
29
+ expect(updatedDocument.state.global.paymentTerms).toBe("terms-456");
30
+ });
31
+ it("should update only provided fields, leaving others unchanged", () => {
32
+ // First set some initial values
33
+ const firstUpdate = reducer(document, creators.editWorkstream({
34
+ code: "WS-001",
35
+ title: "Initial Title",
36
+ status: "RFP_DRAFT",
37
+ }));
38
+ // Then update only some fields
39
+ const input = {
40
+ title: "Updated Title",
41
+ status: "OPEN_FOR_PROPOSALS",
42
+ };
43
+ const finalDocument = reducer(firstUpdate, creators.editWorkstream(input));
44
+ expect(finalDocument.state.global.code).toBe("WS-001"); // Unchanged
45
+ expect(finalDocument.state.global.title).toBe("Updated Title"); // Changed
46
+ expect(finalDocument.state.global.status).toBe("OPEN_FOR_PROPOSALS"); // Changed
47
+ });
48
+ it("should handle null/undefined values correctly", () => {
49
+ const input = {
50
+ code: undefined,
51
+ title: null,
52
+ status: "RFP_DRAFT",
53
+ };
54
+ const updatedDocument = reducer(document, creators.editWorkstream(input));
55
+ expect(updatedDocument.state.global.code).toBe(null); // Initial value
56
+ expect(updatedDocument.state.global.title).toBe(null);
57
+ expect(updatedDocument.state.global.status).toBe("RFP_DRAFT");
58
+ });
59
+ it("should handle empty string values by converting to null", () => {
60
+ const input = {
61
+ code: "",
62
+ title: "",
63
+ };
64
+ const updatedDocument = reducer(document, creators.editWorkstream(input));
65
+ expect(updatedDocument.state.global.code).toBe(null);
66
+ expect(updatedDocument.state.global.title).toBe(null);
67
+ });
68
+ });
69
+ describe("editClientInfo", () => {
70
+ it("should create client info when it doesn't exist", () => {
71
+ const input = {
72
+ clientId: "client-123",
73
+ name: "Test Client",
74
+ icon: "client-icon",
75
+ };
76
+ const updatedDocument = reducer(document, creators.editClientInfo(input));
77
+ expect(updatedDocument.state.global.client).toBeDefined();
78
+ expect(updatedDocument.state.global.client.id).toBe("client-123");
79
+ expect(updatedDocument.state.global.client.name).toBe("Test Client");
80
+ expect(updatedDocument.state.global.client.icon).toBe("client-icon");
81
+ });
82
+ it("should update existing client info", () => {
83
+ // First create client
84
+ const firstUpdate = reducer(document, creators.editClientInfo({
85
+ clientId: "client-123",
86
+ name: "Initial Name",
87
+ }));
88
+ // Then update client
89
+ const input = {
90
+ clientId: "client-456",
91
+ name: "Updated Name",
92
+ icon: "new-icon",
93
+ };
94
+ const finalDocument = reducer(firstUpdate, creators.editClientInfo(input));
95
+ expect(finalDocument.state.global.client.id).toBe("client-456");
96
+ expect(finalDocument.state.global.client.name).toBe("Updated Name");
97
+ expect(finalDocument.state.global.client.icon).toBe("new-icon");
98
+ });
99
+ it("should handle optional fields correctly", () => {
100
+ const input = {
101
+ clientId: "client-123",
102
+ name: undefined,
103
+ icon: null,
104
+ };
105
+ const updatedDocument = reducer(document, creators.editClientInfo(input));
106
+ expect(updatedDocument.state.global.client.id).toBe("client-123");
107
+ expect(updatedDocument.state.global.client.name).toBe(null);
108
+ expect(updatedDocument.state.global.client.icon).toBe(null);
109
+ });
110
+ it("should convert empty strings to null", () => {
111
+ const input = {
112
+ clientId: "client-123",
113
+ name: "",
114
+ icon: "",
115
+ };
116
+ const updatedDocument = reducer(document, creators.editClientInfo(input));
117
+ expect(updatedDocument.state.global.client.name).toBe(null);
118
+ expect(updatedDocument.state.global.client.icon).toBe(null);
119
+ });
120
+ });
121
+ describe("setRequestForProposal", () => {
122
+ it("should create RFP with provided values", () => {
123
+ const input = {
124
+ rfpId: "rfp-123",
125
+ title: "Test RFP Title",
126
+ };
127
+ const updatedDocument = reducer(document, creators.setRequestForProposal(input));
128
+ expect(updatedDocument.state.global.rfp).toBeDefined();
129
+ expect(updatedDocument.state.global.rfp.id).toBe("rfp-123");
130
+ expect(updatedDocument.state.global.rfp.title).toBe("Test RFP Title");
131
+ });
132
+ it("should replace existing RFP", () => {
133
+ // First create RFP
134
+ const firstUpdate = reducer(document, creators.setRequestForProposal({
135
+ rfpId: "rfp-123",
136
+ title: "Initial Title",
137
+ }));
138
+ // Then replace with new RFP
139
+ const input = {
140
+ rfpId: "rfp-456",
141
+ title: "New Title",
142
+ };
143
+ const finalDocument = reducer(firstUpdate, creators.setRequestForProposal(input));
144
+ expect(finalDocument.state.global.rfp.id).toBe("rfp-456");
145
+ expect(finalDocument.state.global.rfp.title).toBe("New Title");
146
+ });
147
+ });
148
+ describe("addPaymentRequest", () => {
149
+ it("should add payment request ID to empty array", () => {
150
+ const input = {
151
+ id: "payment-123",
152
+ };
153
+ const updatedDocument = reducer(document, creators.addPaymentRequest(input));
154
+ expect(updatedDocument.state.global.paymentRequests).toContain("payment-123");
155
+ expect(updatedDocument.state.global.paymentRequests).toHaveLength(1);
156
+ });
157
+ it("should add multiple payment request IDs", () => {
158
+ let currentDocument = document;
159
+ // Add first payment request
160
+ currentDocument = reducer(currentDocument, creators.addPaymentRequest({ id: "payment-123" }));
161
+ // Add second payment request
162
+ currentDocument = reducer(currentDocument, creators.addPaymentRequest({ id: "payment-456" }));
163
+ expect(currentDocument.state.global.paymentRequests).toContain("payment-123");
164
+ expect(currentDocument.state.global.paymentRequests).toContain("payment-456");
165
+ expect(currentDocument.state.global.paymentRequests).toHaveLength(2);
166
+ });
167
+ it("should not add duplicate payment request IDs", () => {
168
+ let currentDocument = document;
169
+ // Add payment request
170
+ currentDocument = reducer(currentDocument, creators.addPaymentRequest({ id: "payment-123" }));
171
+ // Try to add same payment request again
172
+ currentDocument = reducer(currentDocument, creators.addPaymentRequest({ id: "payment-123" }));
173
+ expect(currentDocument.state.global.paymentRequests).toHaveLength(1);
174
+ expect(currentDocument.state.global.paymentRequests[0]).toBe("payment-123");
175
+ });
176
+ });
177
+ describe("removePaymentRequest", () => {
178
+ it("should remove existing payment request ID", () => {
179
+ // First add some payment requests
180
+ let currentDocument = reducer(document, creators.addPaymentRequest({ id: "payment-123" }));
181
+ currentDocument = reducer(currentDocument, creators.addPaymentRequest({ id: "payment-456" }));
182
+ // Remove one payment request
183
+ const input = {
184
+ id: "payment-123",
185
+ };
186
+ const finalDocument = reducer(currentDocument, creators.removePaymentRequest(input));
187
+ expect(finalDocument.state.global.paymentRequests).not.toContain("payment-123");
188
+ expect(finalDocument.state.global.paymentRequests).toContain("payment-456");
189
+ expect(finalDocument.state.global.paymentRequests).toHaveLength(1);
190
+ });
191
+ it("should handle removal of non-existent payment request ID gracefully", () => {
192
+ // Add one payment request
193
+ const currentDocument = reducer(document, creators.addPaymentRequest({ id: "payment-123" }));
194
+ // Try to remove non-existent payment request
195
+ const input = {
196
+ id: "payment-999",
197
+ };
198
+ const finalDocument = reducer(currentDocument, creators.removePaymentRequest(input));
199
+ expect(finalDocument.state.global.paymentRequests).toContain("payment-123");
200
+ expect(finalDocument.state.global.paymentRequests).toHaveLength(1);
201
+ });
202
+ it("should handle removal from empty array gracefully", () => {
203
+ const input = {
204
+ id: "payment-123",
205
+ };
206
+ const updatedDocument = reducer(document, creators.removePaymentRequest(input));
207
+ expect(updatedDocument.state.global.paymentRequests).toHaveLength(0);
208
+ });
209
+ });
210
+ });