@eventcatalog/core 0.1.19 → 0.2.0

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 (356) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +126 -43
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/routes-manifest.json +1 -1
  14. package/.next/server/chunks/{730.js → 189.js} +184 -2
  15. package/.next/server/chunks/267.js +255 -0
  16. package/.next/server/chunks/{681.js → 29.js} +275 -40
  17. package/.next/server/chunks/484.js +12 -3
  18. package/.next/server/chunks/50.js +392 -0
  19. package/.next/server/chunks/526.js +15 -4
  20. package/.next/server/chunks/565.js +3 -3
  21. package/.next/server/chunks/778.js +76 -0
  22. package/.next/server/chunks/797.js +92 -0
  23. package/.next/server/chunks/854.js +103 -0
  24. package/.next/server/chunks/938.js +3 -2
  25. package/.next/server/chunks/944.js +102 -153
  26. package/.next/server/pages/404.html +1 -1
  27. package/.next/server/pages/500.html +1 -1
  28. package/.next/server/pages/_app.js +5 -1
  29. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +1 -0
  30. package/.next/server/pages/{events → domains/Shopping/events}/AddedItemToCart/logs.json +0 -0
  31. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +58 -0
  32. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -0
  33. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +65 -0
  34. package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -0
  35. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +65 -0
  36. package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +1 -0
  37. package/.next/server/pages/domains/Shopping/services/Basket Service.html +2 -0
  38. package/.next/server/pages/domains/Shopping/services/Basket Service.json +1 -0
  39. package/.next/server/pages/domains/Shopping/services/Data Lake.html +2 -0
  40. package/.next/server/pages/domains/Shopping/services/Data Lake.json +1 -0
  41. package/.next/server/pages/domains/Shopping.html +2 -0
  42. package/.next/server/pages/domains/Shopping.json +1 -0
  43. package/.next/server/pages/domains/[domain]/events/[name]/logs.js +243 -0
  44. package/.next/server/pages/domains/[domain]/events/[name]/logs.js.nft.json +1 -0
  45. package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js +352 -0
  46. package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js.nft.json +1 -0
  47. package/.next/server/pages/domains/[domain]/events/[name].js +270 -0
  48. package/.next/server/pages/domains/[domain]/events/[name].js.nft.json +1 -0
  49. package/.next/server/pages/domains/[domain]/services/[name].js +318 -0
  50. package/.next/server/pages/domains/[domain]/services/[name].js.nft.json +1 -0
  51. package/.next/server/pages/domains/[domain].js +504 -0
  52. package/.next/server/pages/domains/[domain].js.nft.json +1 -0
  53. package/.next/server/pages/domains.html +2 -0
  54. package/.next/server/pages/domains.js +318 -0
  55. package/.next/server/pages/domains.js.nft.json +1 -0
  56. package/.next/server/pages/domains.json +1 -0
  57. package/.next/server/pages/events/OrderComplete/logs.html +1 -1
  58. package/.next/server/pages/events/OrderComplete.html +2 -2
  59. package/.next/server/pages/events/OrderComplete.json +1 -1
  60. package/.next/server/pages/events/OrderConfirmed/logs.html +1 -1
  61. package/.next/server/pages/events/OrderConfirmed.html +2 -2
  62. package/.next/server/pages/events/OrderConfirmed.json +1 -1
  63. package/.next/server/pages/events/OrderRequested/logs.html +1 -1
  64. package/.next/server/pages/events/OrderRequested.html +2 -2
  65. package/.next/server/pages/events/OrderRequested.json +1 -1
  66. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
  67. package/.next/server/pages/events/PaymentProcessed.html +2 -2
  68. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  69. package/.next/server/pages/events/RemovedItemFromCart/logs.html +1 -1
  70. package/.next/server/pages/events/RemovedItemFromCart.html +2 -2
  71. package/.next/server/pages/events/RemovedItemFromCart.json +1 -1
  72. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
  73. package/.next/server/pages/events/ShipmentDelivered.html +2 -2
  74. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  75. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
  76. package/.next/server/pages/events/ShipmentDispatched.html +2 -2
  77. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  78. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
  79. package/.next/server/pages/events/ShipmentPrepared.html +2 -2
  80. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  81. package/.next/server/pages/events/[name]/logs.js +1 -243
  82. package/.next/server/pages/events/[name]/logs.js.nft.json +1 -1
  83. package/.next/server/pages/events/[name]/v/[version].js +10 -5
  84. package/.next/server/pages/events/[name]/v/[version].js.nft.json +1 -1
  85. package/.next/server/pages/events/[name].js +2 -2
  86. package/.next/server/pages/events/[name].js.nft.json +1 -1
  87. package/.next/server/pages/events.html +3 -3
  88. package/.next/server/pages/events.js +39 -14
  89. package/.next/server/pages/events.js.nft.json +1 -1
  90. package/.next/server/pages/events.json +1 -1
  91. package/.next/server/pages/index.html +1 -1
  92. package/.next/server/pages/overview.html +1 -1
  93. package/.next/server/pages/overview.js +4 -4
  94. package/.next/server/pages/overview.js.nft.json +1 -1
  95. package/.next/server/pages/overview.json +1 -1
  96. package/.next/server/pages/services/Basket Service.html +1 -2
  97. package/.next/server/pages/services/Basket Service.json +1 -1
  98. package/.next/server/pages/services/Data Lake.html +1 -2
  99. package/.next/server/pages/services/Data Lake.json +1 -1
  100. package/.next/server/pages/services/Payment Service.html +2 -2
  101. package/.next/server/pages/services/Payment Service.json +1 -1
  102. package/.next/server/pages/services/Shipping Service.html +2 -2
  103. package/.next/server/pages/services/Shipping Service.json +1 -1
  104. package/.next/server/pages/services/[name].js +1 -505
  105. package/.next/server/pages/services/[name].js.nft.json +1 -1
  106. package/.next/server/pages/services.html +3 -3
  107. package/.next/server/pages/services.js +1 -1
  108. package/.next/server/pages/services.js.nft.json +1 -1
  109. package/.next/server/pages/services.json +1 -1
  110. package/.next/server/pages/users/[id].js +35 -13
  111. package/.next/server/pages/users/[id].js.nft.json +1 -1
  112. package/.next/server/pages/users/dboyne.html +6 -5
  113. package/.next/server/pages/users/dboyne.json +1 -1
  114. package/.next/server/pages/users/mSmith.html +3 -3
  115. package/.next/server/pages/users/mSmith.json +1 -1
  116. package/.next/server/pages/visualiser.html +4 -3
  117. package/.next/server/pages/visualiser.js +149 -149
  118. package/.next/server/pages/visualiser.js.nft.json +1 -1
  119. package/.next/server/pages/visualiser.json +1 -1
  120. package/.next/server/pages-manifest.json +6 -0
  121. package/.next/static/chunks/109-716dea1303010b4f.js +1 -0
  122. package/.next/static/chunks/169-b33dfdaf2847d062.js +1 -0
  123. package/.next/static/chunks/178-e9a666e11fb7c88d.js +1 -0
  124. package/.next/static/chunks/585-aa9262ea1bcf9d5b.js +1 -0
  125. package/.next/static/chunks/650-555944cc1eb7714e.js +1 -0
  126. package/.next/static/chunks/962-17a425b16c23bd0f.js +1 -0
  127. package/.next/static/chunks/pages/_app-d88c877888678e85.js +1 -0
  128. package/.next/static/chunks/pages/domains/[domain]/events/[name]/logs-7317f2121b8f0d8c.js +1 -0
  129. package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-a7fa6002267ccd3b.js +1 -0
  130. package/.next/static/chunks/pages/domains/[domain]/events/[name]-a5fb5b26471e703b.js +1 -0
  131. package/.next/static/chunks/pages/domains/[domain]/services/[name]-80d6d803e5466b81.js +1 -0
  132. package/.next/static/chunks/pages/domains/[domain]-e39d527b56fd45c8.js +1 -0
  133. package/.next/static/chunks/pages/domains-6ab78cb1bc2f4200.js +1 -0
  134. package/.next/static/chunks/pages/events/[name]/v/[version]-93d978734b0dc0a3.js +1 -0
  135. package/.next/static/chunks/pages/events/{[name]-813780e7042af288.js → [name]-d3d2a03948b8dfeb.js} +1 -1
  136. package/.next/static/chunks/pages/events-5a41c37b360b2fce.js +1 -0
  137. package/.next/static/chunks/pages/{overview-2f0bfad06c84e437.js → overview-dc5e91549c7e3d52.js} +1 -1
  138. package/.next/static/chunks/pages/services/[name]-148079bb388f8c53.js +1 -0
  139. package/.next/static/chunks/pages/services-7fe5a823f1b25f18.js +1 -0
  140. package/.next/static/chunks/pages/users/[id]-b255611073ef76e0.js +1 -0
  141. package/.next/static/chunks/pages/visualiser-2fc8224670ac5dff.js +1 -0
  142. package/.next/static/chunks/webpack-b17b8ef11b94ba66.js +1 -0
  143. package/{out/_next/static/css/4a01a08d48b115f7.css → .next/static/css/70ede87da43120f8.css} +1 -1
  144. package/.next/static/sTHntsHUajnk_njFTxiB5/_buildManifest.js +1 -0
  145. package/.next/static/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/_middlewareManifest.js +0 -0
  146. package/.next/static/sTHntsHUajnk_njFTxiB5/_ssgManifest.js +1 -0
  147. package/.next/trace +57 -56
  148. package/CHANGELOG.md +6 -0
  149. package/components/Grids/DomainGrid.tsx +53 -0
  150. package/components/Grids/EventGrid.tsx +12 -5
  151. package/components/Grids/ServiceGrid.tsx +3 -3
  152. package/components/Header.tsx +2 -1
  153. package/components/Mdx/NodeGraph/GraphElements.tsx +1 -1
  154. package/components/Mdx/NodeGraph/GraphLayout.ts +6 -2
  155. package/components/Mdx/NodeGraph/NodeGraph.tsx +13 -3
  156. package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +8 -4
  157. package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +2 -2
  158. package/components/Sidebars/DomainSidebar.tsx +55 -0
  159. package/components/Sidebars/EventSidebar.tsx +61 -111
  160. package/components/Sidebars/ServiceSidebar.tsx +47 -125
  161. package/components/Sidebars/components/ExternalLinks.tsx +28 -0
  162. package/components/Sidebars/components/ItemList.tsx +32 -0
  163. package/components/Sidebars/components/Owners.tsx +38 -0
  164. package/components/Sidebars/components/Tags.tsx +45 -0
  165. package/lib/__tests__/assets/domains/User/events/UserCreated/index.md +16 -0
  166. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.cs +31 -0
  167. package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.js +1 -0
  168. package/lib/__tests__/assets/domains/User/events/UserRemoved/index.md +16 -0
  169. package/lib/__tests__/assets/domains/User/events/UserRemoved/schema.json +4 -0
  170. package/lib/__tests__/assets/domains/User/index.md +12 -0
  171. package/lib/__tests__/assets/domains/User/services/User Service/index.md +15 -0
  172. package/lib/__tests__/assets/events/AddedItemToCart/index.md +0 -2
  173. package/lib/__tests__/assets/services/Basket Service/index.md +1 -1
  174. package/lib/__tests__/domains.spec.ts +267 -0
  175. package/lib/__tests__/events.spec.ts +216 -90
  176. package/lib/__tests__/graphs.spec.ts +4 -4
  177. package/lib/__tests__/services.spec.ts +62 -7
  178. package/lib/domains.ts +148 -0
  179. package/lib/events.ts +68 -22
  180. package/lib/graphs.ts +6 -3
  181. package/lib/services.ts +51 -13
  182. package/out/404/index.html +1 -1
  183. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5/domains/Shopping}/events/AddedItemToCart/logs.json +0 -0
  184. package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -0
  185. package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -0
  186. package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/events/AddedItemToCart.json +1 -0
  187. package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/services/Basket Service.json +1 -0
  188. package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/services/Data Lake.json +1 -0
  189. package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping.json +1 -0
  190. package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains.json +1 -0
  191. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/OrderComplete/logs.json +0 -0
  192. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/OrderComplete.json +1 -0
  193. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/OrderConfirmed/logs.json +0 -0
  194. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/OrderConfirmed.json +1 -0
  195. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/OrderRequested/logs.json +0 -0
  196. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/OrderRequested.json +1 -0
  197. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/PaymentProcessed/logs.json +0 -0
  198. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/PaymentProcessed.json +1 -0
  199. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/RemovedItemFromCart/logs.json +0 -0
  200. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/RemovedItemFromCart.json +1 -0
  201. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/ShipmentDelivered/logs.json +0 -0
  202. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/ShipmentDelivered.json +1 -0
  203. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/ShipmentDispatched/logs.json +0 -0
  204. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/ShipmentDispatched.json +1 -0
  205. package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/ShipmentPrepared/logs.json +0 -0
  206. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/ShipmentPrepared.json +1 -0
  207. package/out/_next/data/sTHntsHUajnk_njFTxiB5/events.json +1 -0
  208. package/out/_next/data/sTHntsHUajnk_njFTxiB5/overview.json +1 -0
  209. package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Basket Service.json +1 -0
  210. package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Data Lake.json +1 -0
  211. package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Payment Service.json +1 -0
  212. package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Shipping Service.json +1 -0
  213. package/out/_next/data/sTHntsHUajnk_njFTxiB5/services.json +1 -0
  214. package/out/_next/data/sTHntsHUajnk_njFTxiB5/users/dboyne.json +1 -0
  215. package/out/_next/data/sTHntsHUajnk_njFTxiB5/users/mSmith.json +1 -0
  216. package/out/_next/data/sTHntsHUajnk_njFTxiB5/visualiser.json +1 -0
  217. package/out/_next/static/chunks/109-716dea1303010b4f.js +1 -0
  218. package/out/_next/static/chunks/169-b33dfdaf2847d062.js +1 -0
  219. package/out/_next/static/chunks/178-e9a666e11fb7c88d.js +1 -0
  220. package/out/_next/static/chunks/585-aa9262ea1bcf9d5b.js +1 -0
  221. package/out/_next/static/chunks/650-555944cc1eb7714e.js +1 -0
  222. package/out/_next/static/chunks/962-17a425b16c23bd0f.js +1 -0
  223. package/out/_next/static/chunks/pages/_app-d88c877888678e85.js +1 -0
  224. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/logs-7317f2121b8f0d8c.js +1 -0
  225. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-a7fa6002267ccd3b.js +1 -0
  226. package/out/_next/static/chunks/pages/domains/[domain]/events/[name]-a5fb5b26471e703b.js +1 -0
  227. package/out/_next/static/chunks/pages/domains/[domain]/services/[name]-80d6d803e5466b81.js +1 -0
  228. package/out/_next/static/chunks/pages/domains/[domain]-e39d527b56fd45c8.js +1 -0
  229. package/out/_next/static/chunks/pages/domains-6ab78cb1bc2f4200.js +1 -0
  230. package/out/_next/static/chunks/pages/events/[name]/v/[version]-93d978734b0dc0a3.js +1 -0
  231. package/out/_next/static/chunks/pages/events/{[name]-813780e7042af288.js → [name]-d3d2a03948b8dfeb.js} +1 -1
  232. package/out/_next/static/chunks/pages/events-5a41c37b360b2fce.js +1 -0
  233. package/out/_next/static/chunks/pages/{overview-2f0bfad06c84e437.js → overview-dc5e91549c7e3d52.js} +1 -1
  234. package/out/_next/static/chunks/pages/services/[name]-148079bb388f8c53.js +1 -0
  235. package/out/_next/static/chunks/pages/services-7fe5a823f1b25f18.js +1 -0
  236. package/out/_next/static/chunks/pages/users/[id]-b255611073ef76e0.js +1 -0
  237. package/out/_next/static/chunks/pages/visualiser-2fc8224670ac5dff.js +1 -0
  238. package/out/_next/static/chunks/webpack-b17b8ef11b94ba66.js +1 -0
  239. package/{.next/static/css/4a01a08d48b115f7.css → out/_next/static/css/70ede87da43120f8.css} +1 -1
  240. package/out/_next/static/sTHntsHUajnk_njFTxiB5/_buildManifest.js +1 -0
  241. package/out/_next/static/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/_middlewareManifest.js +0 -0
  242. package/out/_next/static/sTHntsHUajnk_njFTxiB5/_ssgManifest.js +1 -0
  243. package/out/domains/Shopping/events/AddedItemToCart/index.html +65 -0
  244. package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +1 -0
  245. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +58 -0
  246. package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +65 -0
  247. package/out/domains/Shopping/index.html +2 -0
  248. package/out/domains/Shopping/services/Basket Service/index.html +2 -0
  249. package/out/domains/Shopping/services/Data Lake/index.html +2 -0
  250. package/out/domains/index.html +2 -0
  251. package/out/events/OrderComplete/index.html +2 -2
  252. package/out/events/OrderComplete/logs/index.html +1 -1
  253. package/out/events/OrderConfirmed/index.html +2 -2
  254. package/out/events/OrderConfirmed/logs/index.html +1 -1
  255. package/out/events/OrderRequested/index.html +2 -2
  256. package/out/events/OrderRequested/logs/index.html +1 -1
  257. package/out/events/PaymentProcessed/index.html +2 -2
  258. package/out/events/PaymentProcessed/logs/index.html +1 -1
  259. package/out/events/RemovedItemFromCart/index.html +2 -2
  260. package/out/events/RemovedItemFromCart/logs/index.html +1 -1
  261. package/out/events/ShipmentDelivered/index.html +2 -2
  262. package/out/events/ShipmentDelivered/logs/index.html +1 -1
  263. package/out/events/ShipmentDispatched/index.html +2 -2
  264. package/out/events/ShipmentDispatched/logs/index.html +1 -1
  265. package/out/events/ShipmentPrepared/index.html +2 -2
  266. package/out/events/ShipmentPrepared/logs/index.html +1 -1
  267. package/out/events/index.html +3 -3
  268. package/out/index.html +1 -1
  269. package/out/overview/index.html +1 -1
  270. package/out/services/Basket Service/index.html +1 -2
  271. package/out/services/Data Lake/index.html +1 -2
  272. package/out/services/Payment Service/index.html +2 -2
  273. package/out/services/Shipping Service/index.html +2 -2
  274. package/out/services/index.html +3 -3
  275. package/out/users/dboyne/index.html +6 -5
  276. package/out/users/mSmith/index.html +3 -3
  277. package/out/visualiser/index.html +4 -3
  278. package/package.json +2 -2
  279. package/pages/domains/[domain]/events/[name]/logs.tsx +29 -0
  280. package/pages/domains/[domain]/events/[name]/v/[version].tsx +39 -0
  281. package/pages/domains/[domain]/events/[name].tsx +46 -0
  282. package/pages/domains/[domain]/index.tsx +138 -0
  283. package/pages/domains/[domain]/services/[name].tsx +42 -0
  284. package/pages/domains.tsx +64 -0
  285. package/pages/events/[name]/logs.tsx +6 -4
  286. package/pages/events/[name]/v/[version].tsx +3 -2
  287. package/pages/events/[name].tsx +26 -12
  288. package/pages/events.tsx +59 -33
  289. package/pages/overview.tsx +3 -3
  290. package/pages/services/[name].tsx +8 -8
  291. package/pages/users/[id].tsx +15 -5
  292. package/pages/visualiser.tsx +98 -82
  293. package/scripts/move-schemas-for-download.js +25 -10
  294. package/tailwind.config.js +11 -1
  295. package/.next/server/pages/events/AddedItemToCart/logs.html +0 -1
  296. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.html +0 -58
  297. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.json +0 -1
  298. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.html +0 -65
  299. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.json +0 -1
  300. package/.next/server/pages/events/AddedItemToCart.html +0 -65
  301. package/.next/server/pages/events/AddedItemToCart.json +0 -1
  302. package/.next/static/chunks/109-a08539311d3d6672.js +0 -1
  303. package/.next/static/chunks/178-87f01d17ab32dd4f.js +0 -1
  304. package/.next/static/chunks/252-08ab418f9b6821dd.js +0 -1
  305. package/.next/static/chunks/650-343888e13f994a09.js +0 -1
  306. package/.next/static/chunks/962-20c87db3880df896.js +0 -1
  307. package/.next/static/chunks/pages/_app-f1bd719e11eb827e.js +0 -1
  308. package/.next/static/chunks/pages/events/[name]/v/[version]-33051dbc32f5fe4e.js +0 -1
  309. package/.next/static/chunks/pages/events-1f39499146c9c75f.js +0 -1
  310. package/.next/static/chunks/pages/services/[name]-142d7fa515cfc532.js +0 -1
  311. package/.next/static/chunks/pages/services-f52121c6dc1211aa.js +0 -1
  312. package/.next/static/chunks/pages/users/[id]-d3140bb155f8fb45.js +0 -1
  313. package/.next/static/chunks/pages/visualiser-e4e3757e74f19df7.js +0 -1
  314. package/.next/static/chunks/webpack-fb340c369157e229.js +0 -1
  315. package/.next/static/jznFKGTbxJsAeYNZE4XtO/_buildManifest.js +0 -1
  316. package/.next/static/jznFKGTbxJsAeYNZE4XtO/_ssgManifest.js +0 -1
  317. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/AddedItemToCart/v/0.0.1.json +0 -1
  318. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/AddedItemToCart/v/0.0.2.json +0 -1
  319. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/AddedItemToCart.json +0 -1
  320. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/OrderComplete.json +0 -1
  321. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/OrderConfirmed.json +0 -1
  322. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/OrderRequested.json +0 -1
  323. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/PaymentProcessed.json +0 -1
  324. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/RemovedItemFromCart.json +0 -1
  325. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/ShipmentDelivered.json +0 -1
  326. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/ShipmentDispatched.json +0 -1
  327. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/ShipmentPrepared.json +0 -1
  328. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events.json +0 -1
  329. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/overview.json +0 -1
  330. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Basket Service.json +0 -1
  331. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Data Lake.json +0 -1
  332. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Payment Service.json +0 -1
  333. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Shipping Service.json +0 -1
  334. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services.json +0 -1
  335. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/users/dboyne.json +0 -1
  336. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/users/mSmith.json +0 -1
  337. package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/visualiser.json +0 -1
  338. package/out/_next/static/chunks/109-a08539311d3d6672.js +0 -1
  339. package/out/_next/static/chunks/178-87f01d17ab32dd4f.js +0 -1
  340. package/out/_next/static/chunks/252-08ab418f9b6821dd.js +0 -1
  341. package/out/_next/static/chunks/650-343888e13f994a09.js +0 -1
  342. package/out/_next/static/chunks/962-20c87db3880df896.js +0 -1
  343. package/out/_next/static/chunks/pages/_app-f1bd719e11eb827e.js +0 -1
  344. package/out/_next/static/chunks/pages/events/[name]/v/[version]-33051dbc32f5fe4e.js +0 -1
  345. package/out/_next/static/chunks/pages/events-1f39499146c9c75f.js +0 -1
  346. package/out/_next/static/chunks/pages/services/[name]-142d7fa515cfc532.js +0 -1
  347. package/out/_next/static/chunks/pages/services-f52121c6dc1211aa.js +0 -1
  348. package/out/_next/static/chunks/pages/users/[id]-d3140bb155f8fb45.js +0 -1
  349. package/out/_next/static/chunks/pages/visualiser-e4e3757e74f19df7.js +0 -1
  350. package/out/_next/static/chunks/webpack-fb340c369157e229.js +0 -1
  351. package/out/_next/static/jznFKGTbxJsAeYNZE4XtO/_buildManifest.js +0 -1
  352. package/out/_next/static/jznFKGTbxJsAeYNZE4XtO/_ssgManifest.js +0 -1
  353. package/out/events/AddedItemToCart/index.html +0 -65
  354. package/out/events/AddedItemToCart/logs/index.html +0 -1
  355. package/out/events/AddedItemToCart/v/0.0.1/index.html +0 -58
  356. package/out/events/AddedItemToCart/v/0.0.2/index.html +0 -65
@@ -0,0 +1,267 @@
1
+ import path from 'path';
2
+ import {
3
+ getAllDomains,
4
+ getAllDomainsByOwnerId,
5
+ getAllEventsFromDomains,
6
+ getAllServicesFromDomains,
7
+ getDomainByName,
8
+ } from '../domains';
9
+
10
+ let PROJECT_DIR: any;
11
+
12
+ describe('domains lib', () => {
13
+ beforeAll(() => {
14
+ PROJECT_DIR = process.env.PROJECT_DIR;
15
+ process.env.PROJECT_DIR = path.join(__dirname, 'assets');
16
+ });
17
+
18
+ afterAll(() => {
19
+ process.env.PROJECT_DIR = PROJECT_DIR;
20
+ });
21
+
22
+ describe('getAllEventsFromDomains', () => {
23
+ it('returns all the events within every domain folder in the catalog', async () => {
24
+ const events = await getAllEventsFromDomains();
25
+ expect(events).toEqual([
26
+ {
27
+ name: 'UserCreated',
28
+ version: '0.0.1',
29
+ summary: 'Holds information about when the user has been created.\n',
30
+ domain: 'User',
31
+ producerNames: ['Application API'],
32
+ consumerNames: ['Customer Portal'],
33
+ owners: ['dboyne', 'mSmith'],
34
+ externalLinks: [],
35
+ historicVersions: [],
36
+ },
37
+ {
38
+ name: 'UserRemoved',
39
+ version: '0.0.1',
40
+ summary: 'Holds information about when the user has been removed.\n',
41
+ domain: 'User',
42
+ producerNames: ['Application API'],
43
+ consumerNames: ['Customer Portal'],
44
+ owners: ['dboyne', 'mSmith'],
45
+ externalLinks: [],
46
+ historicVersions: [],
47
+ },
48
+ ]);
49
+ });
50
+ });
51
+ describe('getAllServicesFromDomains', () => {
52
+ it('returns all the services within every domain folder in the catalog', async () => {
53
+ const services = await getAllServicesFromDomains();
54
+
55
+ expect(services).toEqual([
56
+ {
57
+ name: 'User Service',
58
+ summary: 'CRUD based API to handle User information\n',
59
+ domain: 'User',
60
+ owners: ['mSmith'],
61
+ repository: {
62
+ language: 'JavaScript',
63
+ url: 'https://github.com/boyney123/pretend-basket-service',
64
+ },
65
+ tags: [],
66
+ externalLinks: [
67
+ {
68
+ label: 'AsyncAPI Specification',
69
+ url: 'https://studio.asyncapi.com/#schema-lightMeasuredPayload',
70
+ },
71
+ ],
72
+ publishes: [],
73
+ subscribes: [],
74
+ },
75
+ ]);
76
+ });
77
+ });
78
+
79
+ describe('getDomainByName', () => {
80
+ it('returns domain information for a given domain name', async () => {
81
+ const { domain, markdown } = await getDomainByName({ domainName: 'User' });
82
+
83
+ expect(domain).toEqual({
84
+ name: 'User',
85
+ summary: 'User Domain\n',
86
+ owners: ['dboyne', 'mSmith'],
87
+ tags: [],
88
+ externalLinks: [],
89
+ events: [
90
+ {
91
+ name: 'UserCreated',
92
+ version: '0.0.1',
93
+ summary: 'Holds information about when the user has been created.\n',
94
+ domain: null,
95
+ producerNames: ['Application API'],
96
+ consumerNames: ['Customer Portal'],
97
+ owners: ['dboyne', 'mSmith'],
98
+ externalLinks: [],
99
+ historicVersions: [],
100
+ },
101
+ {
102
+ name: 'UserRemoved',
103
+ version: '0.0.1',
104
+ summary: 'Holds information about when the user has been removed.\n',
105
+ domain: null,
106
+ producerNames: ['Application API'],
107
+ consumerNames: ['Customer Portal'],
108
+ owners: ['dboyne', 'mSmith'],
109
+ externalLinks: [],
110
+ historicVersions: [],
111
+ },
112
+ ],
113
+ services: [
114
+ {
115
+ name: 'User Service',
116
+ summary: 'CRUD based API to handle User information\n',
117
+ domain: null,
118
+ owners: ['mSmith'],
119
+ repository: {
120
+ language: 'JavaScript',
121
+ url: 'https://github.com/boyney123/pretend-basket-service',
122
+ },
123
+ tags: [],
124
+ externalLinks: [
125
+ {
126
+ label: 'AsyncAPI Specification',
127
+ url: 'https://studio.asyncapi.com/#schema-lightMeasuredPayload',
128
+ },
129
+ ],
130
+ publishes: [],
131
+ subscribes: [],
132
+ },
133
+ ],
134
+ });
135
+ // @ts-ignore
136
+ expect(markdown.content).toMatchMarkdown('# Testing');
137
+ });
138
+ });
139
+
140
+ describe('getAllDomains', () => {
141
+ it('returns all domains within the catalog', async () => {
142
+ const domains = await getAllDomains();
143
+ const data = domains.map((item) => item.domain);
144
+
145
+ expect(data).toEqual([
146
+ {
147
+ name: 'User',
148
+ summary: 'User Domain\n',
149
+ owners: ['dboyne', 'mSmith'],
150
+ tags: [],
151
+ externalLinks: [],
152
+ events: [
153
+ {
154
+ name: 'UserCreated',
155
+ version: '0.0.1',
156
+ summary: 'Holds information about when the user has been created.\n',
157
+ domain: null,
158
+ producerNames: ['Application API'],
159
+ consumerNames: ['Customer Portal'],
160
+ owners: ['dboyne', 'mSmith'],
161
+ externalLinks: [],
162
+ historicVersions: [],
163
+ },
164
+ {
165
+ name: 'UserRemoved',
166
+ version: '0.0.1',
167
+ summary: 'Holds information about when the user has been removed.\n',
168
+ domain: null,
169
+ producerNames: ['Application API'],
170
+ consumerNames: ['Customer Portal'],
171
+ owners: ['dboyne', 'mSmith'],
172
+ externalLinks: [],
173
+ historicVersions: [],
174
+ },
175
+ ],
176
+ services: [
177
+ {
178
+ name: 'User Service',
179
+ summary: 'CRUD based API to handle User information\n',
180
+ domain: null,
181
+ owners: ['mSmith'],
182
+ repository: {
183
+ language: 'JavaScript',
184
+ url: 'https://github.com/boyney123/pretend-basket-service',
185
+ },
186
+ tags: [],
187
+ externalLinks: [
188
+ {
189
+ label: 'AsyncAPI Specification',
190
+ url: 'https://studio.asyncapi.com/#schema-lightMeasuredPayload',
191
+ },
192
+ ],
193
+ publishes: [],
194
+ subscribes: [],
195
+ },
196
+ ],
197
+ },
198
+ ]);
199
+ });
200
+ });
201
+
202
+ describe('getAllDomainsByOwnerId', () => {
203
+ it('returns empty array when no owner is found', async () => {
204
+ const domains = await getAllDomainsByOwnerId('made-up-user');
205
+ expect(domains).toEqual([]);
206
+ });
207
+
208
+ it('returns all the domains for a given owner id', async () => {
209
+ const domains = await getAllDomainsByOwnerId('dboyne');
210
+
211
+ expect(domains).toEqual([
212
+ {
213
+ name: 'User',
214
+ summary: 'User Domain\n',
215
+ owners: ['dboyne', 'mSmith'],
216
+ tags: [],
217
+ externalLinks: [],
218
+ events: [
219
+ {
220
+ name: 'UserCreated',
221
+ version: '0.0.1',
222
+ summary: 'Holds information about when the user has been created.\n',
223
+ domain: null,
224
+ producerNames: ['Application API'],
225
+ consumerNames: ['Customer Portal'],
226
+ owners: ['dboyne', 'mSmith'],
227
+ externalLinks: [],
228
+ historicVersions: [],
229
+ },
230
+ {
231
+ name: 'UserRemoved',
232
+ version: '0.0.1',
233
+ summary: 'Holds information about when the user has been removed.\n',
234
+ domain: null,
235
+ producerNames: ['Application API'],
236
+ consumerNames: ['Customer Portal'],
237
+ owners: ['dboyne', 'mSmith'],
238
+ externalLinks: [],
239
+ historicVersions: [],
240
+ },
241
+ ],
242
+ services: [
243
+ {
244
+ name: 'User Service',
245
+ summary: 'CRUD based API to handle User information\n',
246
+ domain: null,
247
+ owners: ['mSmith'],
248
+ repository: {
249
+ language: 'JavaScript',
250
+ url: 'https://github.com/boyney123/pretend-basket-service',
251
+ },
252
+ tags: [],
253
+ externalLinks: [
254
+ {
255
+ label: 'AsyncAPI Specification',
256
+ url: 'https://studio.asyncapi.com/#schema-lightMeasuredPayload',
257
+ },
258
+ ],
259
+ publishes: [],
260
+ subscribes: [],
261
+ },
262
+ ],
263
+ },
264
+ ]);
265
+ });
266
+ });
267
+ });
@@ -21,85 +21,161 @@ describe('events lib', () => {
21
21
  });
22
22
 
23
23
  describe('getEventByName', () => {
24
- it('returns an event and markdown by the given event name', async () => {
25
- const { event, markdown } = await getEventByName('AddedItemToCart');
26
-
27
- expect(event).toEqual({
28
- name: 'AddedItemToCart',
29
- version: '0.0.1',
30
- summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
31
- producers: ['Shopping API', 'Application API'],
32
- consumers: ['Customer Portal'],
33
- owners: ['dboyne', 'mSmith'],
34
- historicVersions: [],
35
- externalLinks: [],
36
- schema: null,
37
- examples: [],
24
+ describe('events without domains', () => {
25
+ it('returns an event and markdown by the given event name', async () => {
26
+ const { event, markdown } = await getEventByName({ eventName: 'AddedItemToCart' });
27
+
28
+ expect(event).toEqual({
29
+ name: 'AddedItemToCart',
30
+ version: '0.0.1',
31
+ summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
32
+ producerNames: ['Shopping API', 'Application API'],
33
+ consumerNames: ['Customer Portal'],
34
+ owners: ['dboyne', 'mSmith'],
35
+ domain: null,
36
+ historicVersions: [],
37
+ consumers: [],
38
+ producers: [],
39
+ externalLinks: [],
40
+ schema: null,
41
+ examples: [],
42
+ });
43
+
44
+ // @ts-ignore
45
+ expect(markdown.content).toMatchMarkdown('# Testing');
38
46
  });
39
47
 
40
- // @ts-ignore
41
- expect(markdown.content).toMatchMarkdown('# Testing');
42
- });
48
+ it('returns the schema and examples of the event as empty if no schema or examples are found', async () => {
49
+ const { event } = await getEventByName({ eventName: 'AddedItemToCart' });
43
50
 
44
- it('returns the schema and examples of the event as empty if no schema or examples are found', async () => {
45
- const { event } = await getEventByName('AddedItemToCart');
51
+ expect(event.schema).toEqual(null);
52
+ expect(event.examples).toEqual([]);
53
+ });
46
54
 
47
- expect(event.schema).toEqual(null);
48
- expect(event.examples).toEqual([]);
49
- });
55
+ it('returns the schema if there is a `schema` file is found in directory of the event', async () => {
56
+ const { event } = await getEventByName({ eventName: 'EventWithSchemaAndExamples' });
50
57
 
51
- it('returns the schema if there is a `schema` file is found in directory of the event', async () => {
52
- const { event } = await getEventByName('EventWithSchemaAndExamples');
58
+ const schema = `{
59
+ "some-schema": true,
60
+ "does-not-really-matter-what-content-is-in-this-file": true
61
+ }`;
53
62
 
54
- const schema = `{
55
- "some-schema": true,
56
- "does-not-really-matter-what-content-is-in-this-file": true
57
- }`;
63
+ // @ts-ignore
64
+ expect(event.schema.snippet).toMatchMarkdown(schema);
65
+ expect(event.schema.language).toEqual('json');
66
+ });
58
67
 
59
- // @ts-ignore
60
- expect(event.schema.snippet).toMatchMarkdown(schema);
61
- expect(event.schema.language).toEqual('json');
62
- });
68
+ it('returns all event examples (files) when examples directory is found within the event folder', async () => {
69
+ const { event } = await getEventByName({ eventName: 'EventWithSchemaAndExamples' });
63
70
 
64
- it('returns all event examples (files) when examples directory is found within the event folder', async () => {
65
- const { event } = await getEventByName('EventWithSchemaAndExamples');
71
+ const example1 = event.examples[0];
72
+ const example2 = event.examples[1];
66
73
 
67
- const example1 = event.examples[0];
68
- const example2 = event.examples[1];
74
+ const example1File = fs.readFileSync(
75
+ path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'examples', 'Basic.cs'),
76
+ { encoding: 'utf-8' }
77
+ );
78
+ const example2File = fs.readFileSync(
79
+ path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'examples', 'Basic.js'),
80
+ { encoding: 'utf-8' }
81
+ );
69
82
 
70
- const example1File = fs.readFileSync(
71
- path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'examples', 'Basic.cs'),
72
- { encoding: 'utf-8' }
73
- );
74
- const example2File = fs.readFileSync(
75
- path.join(process.env.PROJECT_DIR, 'events', 'EventWithSchemaAndExamples', 'examples', 'Basic.js'),
76
- { encoding: 'utf-8' }
77
- );
83
+ expect(event.examples).toHaveLength(2);
78
84
 
79
- expect(event.examples).toHaveLength(2);
85
+ expect(example1.name).toEqual('Basic.cs');
86
+ expect(example1.langugage).toEqual('csharp');
87
+ expect(example1.snippet).toEqual(example1File);
80
88
 
81
- expect(example1.name).toEqual('Basic.cs');
82
- expect(example1.langugage).toEqual('csharp');
83
- expect(example1.snippet).toEqual(example1File);
89
+ expect(example2.name).toEqual('Basic.js');
90
+ expect(example2.langugage).toEqual('javascript');
91
+ expect(example2.snippet).toEqual(example2File);
92
+ });
84
93
 
85
- expect(example2.name).toEqual('Basic.js');
86
- expect(example2.langugage).toEqual('javascript');
87
- expect(example2.snippet).toEqual(example2File);
88
- });
94
+ it('returns previous versions of events when the event has previous versions in the folder directory', async () => {
95
+ const { event } = await getEventByName({ eventName: 'EventWithVersions' });
96
+ expect(event.historicVersions).toEqual(['0.0.1']);
97
+ });
89
98
 
90
- it('returns previous versions of events when the event has previous versions in the folder directory', async () => {
91
- const { event } = await getEventByName('EventWithVersions');
92
- expect(event.historicVersions).toEqual(['0.0.1']);
99
+ it('returns empty array of event historic events when the event does not have previous versions in the folder directory', async () => {
100
+ const { event } = await getEventByName({ eventName: 'EventWithSchemaAndExamples' });
101
+ expect(event.historicVersions).toEqual([]);
102
+ });
93
103
  });
94
104
 
95
- it('returns empty array of event historic events when the event does not have previous versions in the folder directory', async () => {
96
- const { event } = await getEventByName('EventWithSchemaAndExamples');
97
- expect(event.historicVersions).toEqual([]);
105
+ describe('events within domains', () => {
106
+ it('returns an event and markdown by the given event name', async () => {
107
+ const { event, markdown } = await getEventByName({ eventName: 'UserCreated', domain: 'User' });
108
+
109
+ expect(event).toEqual({
110
+ name: 'UserCreated',
111
+ version: '0.0.1',
112
+ summary: 'Holds information about when the user has been created.\n',
113
+ producerNames: ['Application API'],
114
+ consumerNames: ['Customer Portal'],
115
+ owners: ['dboyne', 'mSmith'],
116
+ domain: 'User',
117
+ historicVersions: [],
118
+ externalLinks: [],
119
+ consumers: [],
120
+ producers: [],
121
+ schema: null,
122
+ examples: [],
123
+ });
124
+
125
+ // @ts-ignore
126
+ expect(markdown.content).toMatchMarkdown('# Testing');
127
+ });
128
+
129
+ it('returns the schema and examples of the event as empty if no schema or examples are found', async () => {
130
+ const { event } = await getEventByName({ eventName: 'UserCreated', domain: 'User' });
131
+
132
+ expect(event.schema).toEqual(null);
133
+ expect(event.examples).toEqual([]);
134
+ });
135
+
136
+ it('returns the schema if there is a `schema` file is found in directory of the event', async () => {
137
+ const { event } = await getEventByName({ eventName: 'UserRemoved', domain: 'User' });
138
+
139
+ const schema = `{
140
+ "some-schema": true,
141
+ "does-not-really-matter-what-content-is-in-this-file": true
142
+ }`;
143
+
144
+ // @ts-ignore
145
+ expect(event.schema.snippet).toMatchMarkdown(schema);
146
+ expect(event.schema.language).toEqual('json');
147
+ });
148
+
149
+ it('returns all event examples (files) when examples directory is found within the event folder', async () => {
150
+ const { event } = await getEventByName({ eventName: 'UserRemoved', domain: 'User' });
151
+
152
+ const example1 = event.examples[0];
153
+ const example2 = event.examples[1];
154
+
155
+ const example1File = fs.readFileSync(
156
+ path.join(process.env.PROJECT_DIR, 'domains', 'User', 'events', 'UserRemoved', 'examples', 'Basic.cs'),
157
+ { encoding: 'utf-8' }
158
+ );
159
+ const example2File = fs.readFileSync(
160
+ path.join(process.env.PROJECT_DIR, 'domains', 'User', 'events', 'UserRemoved', 'examples', 'Basic.js'),
161
+ { encoding: 'utf-8' }
162
+ );
163
+
164
+ expect(event.examples).toHaveLength(2);
165
+
166
+ expect(example1.name).toEqual('Basic.cs');
167
+ expect(example1.langugage).toEqual('csharp');
168
+ expect(example1.snippet).toEqual(example1File);
169
+
170
+ expect(example2.name).toEqual('Basic.js');
171
+ expect(example2.langugage).toEqual('javascript');
172
+ expect(example2.snippet).toEqual(example2File);
173
+ });
98
174
  });
99
175
  });
100
176
 
101
177
  describe('getAllEvents', () => {
102
- it('gets all the events (in the PROJECT_DIR events dir)', async () => {
178
+ it('gets all the events in the /events directory and also all events within domain directorys', async () => {
103
179
  const events = await getAllEvents();
104
180
 
105
181
  expect(events).toEqual([
@@ -107,41 +183,67 @@ describe('events lib', () => {
107
183
  name: 'AddedItemToCart',
108
184
  version: '0.0.1',
109
185
  summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
110
- producers: ['Shopping API', 'Application API'],
111
- consumers: ['Customer Portal'],
112
- historicVersions: [],
113
- externalLinks: [],
186
+ domain: null,
187
+ producerNames: ['Shopping API', 'Application API'],
188
+ consumerNames: ['Customer Portal'],
114
189
  owners: ['dboyne', 'mSmith'],
190
+ externalLinks: [],
191
+ historicVersions: [],
115
192
  },
116
193
  {
117
194
  name: 'EmailSent',
118
195
  version: '0.0.1',
119
196
  summary: 'Tells us when an email has been sent\n',
120
- producers: ['Email Platform'],
121
- historicVersions: [],
122
- externalLinks: [],
123
- consumers: [],
197
+ domain: null,
198
+ producerNames: ['Email Platform'],
199
+ consumerNames: [],
124
200
  owners: ['dboyne', 'mSmith'],
201
+ externalLinks: [],
202
+ historicVersions: [],
125
203
  },
126
204
  {
127
205
  name: 'EventWithSchemaAndExamples',
128
206
  version: '0.0.1',
129
207
  summary: 'Example event with schema and examples\n',
130
- historicVersions: [],
131
- externalLinks: [],
132
- producers: [],
133
- consumers: [],
208
+ domain: null,
209
+ producerNames: [],
210
+ consumerNames: [],
134
211
  owners: [],
212
+ externalLinks: [],
213
+ historicVersions: [],
135
214
  },
136
215
  {
137
216
  name: 'EventWithVersions',
138
217
  version: '0.0.5',
139
218
  summary: 'Tells us when an email has been sent\n',
219
+ domain: null,
220
+ producerNames: [],
221
+ consumerNames: [],
222
+ owners: [],
223
+ externalLinks: [],
140
224
  historicVersions: ['0.0.1'],
141
- producers: [],
225
+ },
226
+ {
227
+ name: 'UserCreated',
228
+ version: '0.0.1',
229
+ summary: 'Holds information about when the user has been created.\n',
230
+ domain: 'User',
231
+ producerNames: ['Application API'],
232
+ consumerNames: ['Customer Portal'],
233
+ owners: ['dboyne', 'mSmith'],
142
234
  externalLinks: [],
143
- consumers: [],
144
- owners: [],
235
+ historicVersions: [],
236
+ },
237
+ {
238
+ name: 'UserRemoved',
239
+ version: '0.0.1',
240
+ summary: 'Holds information about when the user has been removed.\n',
241
+ domain: 'User',
242
+ producerNames: ['Application API'],
243
+ consumerNames: ['Customer Portal'],
244
+ owners: ['dboyne', 'mSmith'],
245
+ externalLinks: [],
246
+ historicVersions: [],
145
247
  },
146
248
  ]);
147
249
  });
@@ -164,18 +266,18 @@ describe('events lib', () => {
164
266
  {
165
267
  name: 'Testing',
166
268
  version: '1.0.0',
167
- consumers: ['Service 1', 'Service 2'],
269
+ consumerNames: ['Service 1', 'Service 2'],
168
270
  historicVersions: [],
169
- producers: ['Service 3'],
271
+ producerNames: ['Service 3'],
170
272
  },
171
273
  {
172
274
  name: 'Testing',
173
275
  version: '2.0.0',
174
- consumers: ['Service 2', 'Service 3'],
276
+ consumerNames: ['Service 2', 'Service 3'],
175
277
  historicVersions: [],
176
- producers: ['Service 4'],
278
+ producerNames: ['Service 4'],
177
279
  },
178
- { name: 'Testing', version: '3.0.0', consumers: ['Service 3', 'Service 4'] },
280
+ { name: 'Testing', version: '3.0.0', consumerNames: ['Service 3', 'Service 4'] },
179
281
  ];
180
282
 
181
283
  const result = getUniqueServicesNamesFromEvents(events);
@@ -198,21 +300,45 @@ describe('events lib', () => {
198
300
  name: 'AddedItemToCart',
199
301
  version: '0.0.1',
200
302
  summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
201
- producers: ['Shopping API', 'Application API'],
202
- consumers: ['Customer Portal'],
303
+ domain: null,
304
+ producerNames: ['Shopping API', 'Application API'],
305
+ consumerNames: ['Customer Portal'],
203
306
  owners: ['dboyne', 'mSmith'],
204
- historicVersions: [],
205
307
  externalLinks: [],
308
+ historicVersions: [],
206
309
  },
207
310
  {
208
311
  name: 'EmailSent',
209
312
  version: '0.0.1',
210
313
  summary: 'Tells us when an email has been sent\n',
211
- producers: ['Email Platform'],
212
- consumers: [],
314
+ domain: null,
315
+ producerNames: ['Email Platform'],
316
+ consumerNames: [],
317
+ owners: ['dboyne', 'mSmith'],
318
+ externalLinks: [],
213
319
  historicVersions: [],
320
+ },
321
+ {
322
+ name: 'UserCreated',
323
+ version: '0.0.1',
324
+ summary: 'Holds information about when the user has been created.\n',
325
+ domain: 'User',
326
+ producerNames: ['Application API'],
327
+ consumerNames: ['Customer Portal'],
328
+ owners: ['dboyne', 'mSmith'],
214
329
  externalLinks: [],
330
+ historicVersions: [],
331
+ },
332
+ {
333
+ name: 'UserRemoved',
334
+ version: '0.0.1',
335
+ summary: 'Holds information about when the user has been removed.\n',
336
+ domain: 'User',
337
+ producerNames: ['Application API'],
338
+ consumerNames: ['Customer Portal'],
215
339
  owners: ['dboyne', 'mSmith'],
340
+ externalLinks: [],
341
+ historicVersions: [],
216
342
  },
217
343
  ]);
218
344
  });
@@ -225,8 +351,8 @@ describe('events lib', () => {
225
351
  name: 'AddedItemToCart',
226
352
  version: '0.0.1',
227
353
  summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
228
- producers: ['Shopping API', 'My Service'],
229
- consumers: ['Customer Portal'],
354
+ producerNames: ['Shopping API', 'My Service'],
355
+ consumerNames: ['Customer Portal'],
230
356
  historicVersions: [],
231
357
  owners: ['dboyne', 'mSmith'],
232
358
  },
@@ -246,8 +372,8 @@ describe('events lib', () => {
246
372
  name: 'AddedItemToCart',
247
373
  version: '0.0.1',
248
374
  summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
249
- producers: ['Shopping API', 'My Service'],
250
- consumers: ['Customer Portal'],
375
+ producerNames: ['Shopping API', 'My Service'],
376
+ consumerNames: ['Customer Portal'],
251
377
  historicVersions: [],
252
378
  owners: ['dboyne', 'mSmith'],
253
379
  },
@@ -262,8 +388,8 @@ describe('events lib', () => {
262
388
  name: 'AddedItemToCart',
263
389
  version: '0.0.1',
264
390
  summary: 'Holds information about the cusomer and product when they add an item to the cart.\n',
265
- producers: ['Shopping API', 'Service'],
266
- consumers: ['Customer Portal'],
391
+ producerNames: ['Shopping API', 'Service'],
392
+ consumerNames: ['Customer Portal'],
267
393
  historicVersions: [],
268
394
  owners: ['dboyne', 'mSmith'],
269
395
  },