@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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +126 -43
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1bay4w0 +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/{730.js → 189.js} +184 -2
- package/.next/server/chunks/267.js +255 -0
- package/.next/server/chunks/{681.js → 29.js} +275 -40
- package/.next/server/chunks/484.js +12 -3
- package/.next/server/chunks/50.js +392 -0
- package/.next/server/chunks/526.js +15 -4
- package/.next/server/chunks/565.js +3 -3
- package/.next/server/chunks/778.js +76 -0
- package/.next/server/chunks/797.js +92 -0
- package/.next/server/chunks/854.js +103 -0
- package/.next/server/chunks/938.js +3 -2
- package/.next/server/chunks/944.js +102 -153
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app.js +5 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +1 -0
- package/.next/server/pages/{events → domains/Shopping/events}/AddedItemToCart/logs.json +0 -0
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +58 -0
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -0
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +65 -0
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -0
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +65 -0
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +1 -0
- package/.next/server/pages/domains/Shopping/services/Basket Service.html +2 -0
- package/.next/server/pages/domains/Shopping/services/Basket Service.json +1 -0
- package/.next/server/pages/domains/Shopping/services/Data Lake.html +2 -0
- package/.next/server/pages/domains/Shopping/services/Data Lake.json +1 -0
- package/.next/server/pages/domains/Shopping.html +2 -0
- package/.next/server/pages/domains/Shopping.json +1 -0
- package/.next/server/pages/domains/[domain]/events/[name]/logs.js +243 -0
- package/.next/server/pages/domains/[domain]/events/[name]/logs.js.nft.json +1 -0
- package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js +352 -0
- package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js.nft.json +1 -0
- package/.next/server/pages/domains/[domain]/events/[name].js +270 -0
- package/.next/server/pages/domains/[domain]/events/[name].js.nft.json +1 -0
- package/.next/server/pages/domains/[domain]/services/[name].js +318 -0
- package/.next/server/pages/domains/[domain]/services/[name].js.nft.json +1 -0
- package/.next/server/pages/domains/[domain].js +504 -0
- package/.next/server/pages/domains/[domain].js.nft.json +1 -0
- package/.next/server/pages/domains.html +2 -0
- package/.next/server/pages/domains.js +318 -0
- package/.next/server/pages/domains.js.nft.json +1 -0
- package/.next/server/pages/domains.json +1 -0
- package/.next/server/pages/events/OrderComplete/logs.html +1 -1
- package/.next/server/pages/events/OrderComplete.html +2 -2
- package/.next/server/pages/events/OrderComplete.json +1 -1
- package/.next/server/pages/events/OrderConfirmed/logs.html +1 -1
- package/.next/server/pages/events/OrderConfirmed.html +2 -2
- package/.next/server/pages/events/OrderConfirmed.json +1 -1
- package/.next/server/pages/events/OrderRequested/logs.html +1 -1
- package/.next/server/pages/events/OrderRequested.html +2 -2
- package/.next/server/pages/events/OrderRequested.json +1 -1
- package/.next/server/pages/events/PaymentProcessed/logs.html +1 -1
- package/.next/server/pages/events/PaymentProcessed.html +2 -2
- package/.next/server/pages/events/PaymentProcessed.json +1 -1
- package/.next/server/pages/events/RemovedItemFromCart/logs.html +1 -1
- package/.next/server/pages/events/RemovedItemFromCart.html +2 -2
- package/.next/server/pages/events/RemovedItemFromCart.json +1 -1
- package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -1
- package/.next/server/pages/events/ShipmentDelivered.html +2 -2
- package/.next/server/pages/events/ShipmentDelivered.json +1 -1
- package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -1
- package/.next/server/pages/events/ShipmentDispatched.html +2 -2
- package/.next/server/pages/events/ShipmentDispatched.json +1 -1
- package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -1
- package/.next/server/pages/events/ShipmentPrepared.html +2 -2
- package/.next/server/pages/events/ShipmentPrepared.json +1 -1
- package/.next/server/pages/events/[name]/logs.js +1 -243
- package/.next/server/pages/events/[name]/logs.js.nft.json +1 -1
- package/.next/server/pages/events/[name]/v/[version].js +10 -5
- package/.next/server/pages/events/[name]/v/[version].js.nft.json +1 -1
- package/.next/server/pages/events/[name].js +2 -2
- package/.next/server/pages/events/[name].js.nft.json +1 -1
- package/.next/server/pages/events.html +3 -3
- package/.next/server/pages/events.js +39 -14
- package/.next/server/pages/events.js.nft.json +1 -1
- package/.next/server/pages/events.json +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/overview.js +4 -4
- package/.next/server/pages/overview.js.nft.json +1 -1
- package/.next/server/pages/overview.json +1 -1
- package/.next/server/pages/services/Basket Service.html +1 -2
- package/.next/server/pages/services/Basket Service.json +1 -1
- package/.next/server/pages/services/Data Lake.html +1 -2
- package/.next/server/pages/services/Data Lake.json +1 -1
- package/.next/server/pages/services/Payment Service.html +2 -2
- package/.next/server/pages/services/Payment Service.json +1 -1
- package/.next/server/pages/services/Shipping Service.html +2 -2
- package/.next/server/pages/services/Shipping Service.json +1 -1
- package/.next/server/pages/services/[name].js +1 -505
- package/.next/server/pages/services/[name].js.nft.json +1 -1
- package/.next/server/pages/services.html +3 -3
- package/.next/server/pages/services.js +1 -1
- package/.next/server/pages/services.js.nft.json +1 -1
- package/.next/server/pages/services.json +1 -1
- package/.next/server/pages/users/[id].js +35 -13
- package/.next/server/pages/users/[id].js.nft.json +1 -1
- package/.next/server/pages/users/dboyne.html +6 -5
- package/.next/server/pages/users/dboyne.json +1 -1
- package/.next/server/pages/users/mSmith.html +3 -3
- package/.next/server/pages/users/mSmith.json +1 -1
- package/.next/server/pages/visualiser.html +4 -3
- package/.next/server/pages/visualiser.js +149 -149
- package/.next/server/pages/visualiser.js.nft.json +1 -1
- package/.next/server/pages/visualiser.json +1 -1
- package/.next/server/pages-manifest.json +6 -0
- package/.next/static/chunks/109-716dea1303010b4f.js +1 -0
- package/.next/static/chunks/169-b33dfdaf2847d062.js +1 -0
- package/.next/static/chunks/178-e9a666e11fb7c88d.js +1 -0
- package/.next/static/chunks/585-aa9262ea1bcf9d5b.js +1 -0
- package/.next/static/chunks/650-555944cc1eb7714e.js +1 -0
- package/.next/static/chunks/962-17a425b16c23bd0f.js +1 -0
- package/.next/static/chunks/pages/_app-d88c877888678e85.js +1 -0
- package/.next/static/chunks/pages/domains/[domain]/events/[name]/logs-7317f2121b8f0d8c.js +1 -0
- package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-a7fa6002267ccd3b.js +1 -0
- package/.next/static/chunks/pages/domains/[domain]/events/[name]-a5fb5b26471e703b.js +1 -0
- package/.next/static/chunks/pages/domains/[domain]/services/[name]-80d6d803e5466b81.js +1 -0
- package/.next/static/chunks/pages/domains/[domain]-e39d527b56fd45c8.js +1 -0
- package/.next/static/chunks/pages/domains-6ab78cb1bc2f4200.js +1 -0
- package/.next/static/chunks/pages/events/[name]/v/[version]-93d978734b0dc0a3.js +1 -0
- package/.next/static/chunks/pages/events/{[name]-813780e7042af288.js → [name]-d3d2a03948b8dfeb.js} +1 -1
- package/.next/static/chunks/pages/events-5a41c37b360b2fce.js +1 -0
- package/.next/static/chunks/pages/{overview-2f0bfad06c84e437.js → overview-dc5e91549c7e3d52.js} +1 -1
- package/.next/static/chunks/pages/services/[name]-148079bb388f8c53.js +1 -0
- package/.next/static/chunks/pages/services-7fe5a823f1b25f18.js +1 -0
- package/.next/static/chunks/pages/users/[id]-b255611073ef76e0.js +1 -0
- package/.next/static/chunks/pages/visualiser-2fc8224670ac5dff.js +1 -0
- package/.next/static/chunks/webpack-b17b8ef11b94ba66.js +1 -0
- package/{out/_next/static/css/4a01a08d48b115f7.css → .next/static/css/70ede87da43120f8.css} +1 -1
- package/.next/static/sTHntsHUajnk_njFTxiB5/_buildManifest.js +1 -0
- package/.next/static/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/_middlewareManifest.js +0 -0
- package/.next/static/sTHntsHUajnk_njFTxiB5/_ssgManifest.js +1 -0
- package/.next/trace +57 -56
- package/CHANGELOG.md +6 -0
- package/components/Grids/DomainGrid.tsx +53 -0
- package/components/Grids/EventGrid.tsx +12 -5
- package/components/Grids/ServiceGrid.tsx +3 -3
- package/components/Header.tsx +2 -1
- package/components/Mdx/NodeGraph/GraphElements.tsx +1 -1
- package/components/Mdx/NodeGraph/GraphLayout.ts +6 -2
- package/components/Mdx/NodeGraph/NodeGraph.tsx +13 -3
- package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +8 -4
- package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +2 -2
- package/components/Sidebars/DomainSidebar.tsx +55 -0
- package/components/Sidebars/EventSidebar.tsx +61 -111
- package/components/Sidebars/ServiceSidebar.tsx +47 -125
- package/components/Sidebars/components/ExternalLinks.tsx +28 -0
- package/components/Sidebars/components/ItemList.tsx +32 -0
- package/components/Sidebars/components/Owners.tsx +38 -0
- package/components/Sidebars/components/Tags.tsx +45 -0
- package/lib/__tests__/assets/domains/User/events/UserCreated/index.md +16 -0
- package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.cs +31 -0
- package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.js +1 -0
- package/lib/__tests__/assets/domains/User/events/UserRemoved/index.md +16 -0
- package/lib/__tests__/assets/domains/User/events/UserRemoved/schema.json +4 -0
- package/lib/__tests__/assets/domains/User/index.md +12 -0
- package/lib/__tests__/assets/domains/User/services/User Service/index.md +15 -0
- package/lib/__tests__/assets/events/AddedItemToCart/index.md +0 -2
- package/lib/__tests__/assets/services/Basket Service/index.md +1 -1
- package/lib/__tests__/domains.spec.ts +267 -0
- package/lib/__tests__/events.spec.ts +216 -90
- package/lib/__tests__/graphs.spec.ts +4 -4
- package/lib/__tests__/services.spec.ts +62 -7
- package/lib/domains.ts +148 -0
- package/lib/events.ts +68 -22
- package/lib/graphs.ts +6 -3
- package/lib/services.ts +51 -13
- package/out/404/index.html +1 -1
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5/domains/Shopping}/events/AddedItemToCart/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/events/AddedItemToCart.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/services/Basket Service.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping/services/Data Lake.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains/Shopping.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/domains.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/OrderComplete/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/OrderComplete.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/OrderConfirmed/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/OrderConfirmed.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/OrderRequested/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/OrderRequested.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/PaymentProcessed/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/PaymentProcessed.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/RemovedItemFromCart/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/RemovedItemFromCart.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/ShipmentDelivered/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/ShipmentDelivered.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/ShipmentDispatched/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/ShipmentDispatched.json +1 -0
- package/out/_next/data/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/events/ShipmentPrepared/logs.json +0 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events/ShipmentPrepared.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/events.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/overview.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Basket Service.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Data Lake.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Payment Service.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/services/Shipping Service.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/services.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/users/dboyne.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/users/mSmith.json +1 -0
- package/out/_next/data/sTHntsHUajnk_njFTxiB5/visualiser.json +1 -0
- package/out/_next/static/chunks/109-716dea1303010b4f.js +1 -0
- package/out/_next/static/chunks/169-b33dfdaf2847d062.js +1 -0
- package/out/_next/static/chunks/178-e9a666e11fb7c88d.js +1 -0
- package/out/_next/static/chunks/585-aa9262ea1bcf9d5b.js +1 -0
- package/out/_next/static/chunks/650-555944cc1eb7714e.js +1 -0
- package/out/_next/static/chunks/962-17a425b16c23bd0f.js +1 -0
- package/out/_next/static/chunks/pages/_app-d88c877888678e85.js +1 -0
- package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/logs-7317f2121b8f0d8c.js +1 -0
- package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-a7fa6002267ccd3b.js +1 -0
- package/out/_next/static/chunks/pages/domains/[domain]/events/[name]-a5fb5b26471e703b.js +1 -0
- package/out/_next/static/chunks/pages/domains/[domain]/services/[name]-80d6d803e5466b81.js +1 -0
- package/out/_next/static/chunks/pages/domains/[domain]-e39d527b56fd45c8.js +1 -0
- package/out/_next/static/chunks/pages/domains-6ab78cb1bc2f4200.js +1 -0
- package/out/_next/static/chunks/pages/events/[name]/v/[version]-93d978734b0dc0a3.js +1 -0
- package/out/_next/static/chunks/pages/events/{[name]-813780e7042af288.js → [name]-d3d2a03948b8dfeb.js} +1 -1
- package/out/_next/static/chunks/pages/events-5a41c37b360b2fce.js +1 -0
- package/out/_next/static/chunks/pages/{overview-2f0bfad06c84e437.js → overview-dc5e91549c7e3d52.js} +1 -1
- package/out/_next/static/chunks/pages/services/[name]-148079bb388f8c53.js +1 -0
- package/out/_next/static/chunks/pages/services-7fe5a823f1b25f18.js +1 -0
- package/out/_next/static/chunks/pages/users/[id]-b255611073ef76e0.js +1 -0
- package/out/_next/static/chunks/pages/visualiser-2fc8224670ac5dff.js +1 -0
- package/out/_next/static/chunks/webpack-b17b8ef11b94ba66.js +1 -0
- package/{.next/static/css/4a01a08d48b115f7.css → out/_next/static/css/70ede87da43120f8.css} +1 -1
- package/out/_next/static/sTHntsHUajnk_njFTxiB5/_buildManifest.js +1 -0
- package/out/_next/static/{jznFKGTbxJsAeYNZE4XtO → sTHntsHUajnk_njFTxiB5}/_middlewareManifest.js +0 -0
- package/out/_next/static/sTHntsHUajnk_njFTxiB5/_ssgManifest.js +1 -0
- package/out/domains/Shopping/events/AddedItemToCart/index.html +65 -0
- package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +1 -0
- package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +58 -0
- package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +65 -0
- package/out/domains/Shopping/index.html +2 -0
- package/out/domains/Shopping/services/Basket Service/index.html +2 -0
- package/out/domains/Shopping/services/Data Lake/index.html +2 -0
- package/out/domains/index.html +2 -0
- package/out/events/OrderComplete/index.html +2 -2
- package/out/events/OrderComplete/logs/index.html +1 -1
- package/out/events/OrderConfirmed/index.html +2 -2
- package/out/events/OrderConfirmed/logs/index.html +1 -1
- package/out/events/OrderRequested/index.html +2 -2
- package/out/events/OrderRequested/logs/index.html +1 -1
- package/out/events/PaymentProcessed/index.html +2 -2
- package/out/events/PaymentProcessed/logs/index.html +1 -1
- package/out/events/RemovedItemFromCart/index.html +2 -2
- package/out/events/RemovedItemFromCart/logs/index.html +1 -1
- package/out/events/ShipmentDelivered/index.html +2 -2
- package/out/events/ShipmentDelivered/logs/index.html +1 -1
- package/out/events/ShipmentDispatched/index.html +2 -2
- package/out/events/ShipmentDispatched/logs/index.html +1 -1
- package/out/events/ShipmentPrepared/index.html +2 -2
- package/out/events/ShipmentPrepared/logs/index.html +1 -1
- package/out/events/index.html +3 -3
- package/out/index.html +1 -1
- package/out/overview/index.html +1 -1
- package/out/services/Basket Service/index.html +1 -2
- package/out/services/Data Lake/index.html +1 -2
- package/out/services/Payment Service/index.html +2 -2
- package/out/services/Shipping Service/index.html +2 -2
- package/out/services/index.html +3 -3
- package/out/users/dboyne/index.html +6 -5
- package/out/users/mSmith/index.html +3 -3
- package/out/visualiser/index.html +4 -3
- package/package.json +2 -2
- package/pages/domains/[domain]/events/[name]/logs.tsx +29 -0
- package/pages/domains/[domain]/events/[name]/v/[version].tsx +39 -0
- package/pages/domains/[domain]/events/[name].tsx +46 -0
- package/pages/domains/[domain]/index.tsx +138 -0
- package/pages/domains/[domain]/services/[name].tsx +42 -0
- package/pages/domains.tsx +64 -0
- package/pages/events/[name]/logs.tsx +6 -4
- package/pages/events/[name]/v/[version].tsx +3 -2
- package/pages/events/[name].tsx +26 -12
- package/pages/events.tsx +59 -33
- package/pages/overview.tsx +3 -3
- package/pages/services/[name].tsx +8 -8
- package/pages/users/[id].tsx +15 -5
- package/pages/visualiser.tsx +98 -82
- package/scripts/move-schemas-for-download.js +25 -10
- package/tailwind.config.js +11 -1
- package/.next/server/pages/events/AddedItemToCart/logs.html +0 -1
- package/.next/server/pages/events/AddedItemToCart/v/0.0.1.html +0 -58
- package/.next/server/pages/events/AddedItemToCart/v/0.0.1.json +0 -1
- package/.next/server/pages/events/AddedItemToCart/v/0.0.2.html +0 -65
- package/.next/server/pages/events/AddedItemToCart/v/0.0.2.json +0 -1
- package/.next/server/pages/events/AddedItemToCart.html +0 -65
- package/.next/server/pages/events/AddedItemToCart.json +0 -1
- package/.next/static/chunks/109-a08539311d3d6672.js +0 -1
- package/.next/static/chunks/178-87f01d17ab32dd4f.js +0 -1
- package/.next/static/chunks/252-08ab418f9b6821dd.js +0 -1
- package/.next/static/chunks/650-343888e13f994a09.js +0 -1
- package/.next/static/chunks/962-20c87db3880df896.js +0 -1
- package/.next/static/chunks/pages/_app-f1bd719e11eb827e.js +0 -1
- package/.next/static/chunks/pages/events/[name]/v/[version]-33051dbc32f5fe4e.js +0 -1
- package/.next/static/chunks/pages/events-1f39499146c9c75f.js +0 -1
- package/.next/static/chunks/pages/services/[name]-142d7fa515cfc532.js +0 -1
- package/.next/static/chunks/pages/services-f52121c6dc1211aa.js +0 -1
- package/.next/static/chunks/pages/users/[id]-d3140bb155f8fb45.js +0 -1
- package/.next/static/chunks/pages/visualiser-e4e3757e74f19df7.js +0 -1
- package/.next/static/chunks/webpack-fb340c369157e229.js +0 -1
- package/.next/static/jznFKGTbxJsAeYNZE4XtO/_buildManifest.js +0 -1
- package/.next/static/jznFKGTbxJsAeYNZE4XtO/_ssgManifest.js +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/AddedItemToCart/v/0.0.1.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/AddedItemToCart/v/0.0.2.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/AddedItemToCart.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/OrderComplete.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/OrderConfirmed.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/OrderRequested.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/PaymentProcessed.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/RemovedItemFromCart.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/ShipmentDelivered.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/ShipmentDispatched.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events/ShipmentPrepared.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/events.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/overview.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Basket Service.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Data Lake.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Payment Service.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services/Shipping Service.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/services.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/users/dboyne.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/users/mSmith.json +0 -1
- package/out/_next/data/jznFKGTbxJsAeYNZE4XtO/visualiser.json +0 -1
- package/out/_next/static/chunks/109-a08539311d3d6672.js +0 -1
- package/out/_next/static/chunks/178-87f01d17ab32dd4f.js +0 -1
- package/out/_next/static/chunks/252-08ab418f9b6821dd.js +0 -1
- package/out/_next/static/chunks/650-343888e13f994a09.js +0 -1
- package/out/_next/static/chunks/962-20c87db3880df896.js +0 -1
- package/out/_next/static/chunks/pages/_app-f1bd719e11eb827e.js +0 -1
- package/out/_next/static/chunks/pages/events/[name]/v/[version]-33051dbc32f5fe4e.js +0 -1
- package/out/_next/static/chunks/pages/events-1f39499146c9c75f.js +0 -1
- package/out/_next/static/chunks/pages/services/[name]-142d7fa515cfc532.js +0 -1
- package/out/_next/static/chunks/pages/services-f52121c6dc1211aa.js +0 -1
- package/out/_next/static/chunks/pages/users/[id]-d3140bb155f8fb45.js +0 -1
- package/out/_next/static/chunks/pages/visualiser-e4e3757e74f19df7.js +0 -1
- package/out/_next/static/chunks/webpack-fb340c369157e229.js +0 -1
- package/out/_next/static/jznFKGTbxJsAeYNZE4XtO/_buildManifest.js +0 -1
- package/out/_next/static/jznFKGTbxJsAeYNZE4XtO/_ssgManifest.js +0 -1
- package/out/events/AddedItemToCart/index.html +0 -65
- package/out/events/AddedItemToCart/logs/index.html +0 -1
- package/out/events/AddedItemToCart/v/0.0.1/index.html +0 -58
- 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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
-
|
|
41
|
-
|
|
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
|
-
|
|
45
|
-
|
|
51
|
+
expect(event.schema).toEqual(null);
|
|
52
|
+
expect(event.examples).toEqual([]);
|
|
53
|
+
});
|
|
46
54
|
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
52
|
-
|
|
58
|
+
const schema = `{
|
|
59
|
+
"some-schema": true,
|
|
60
|
+
"does-not-really-matter-what-content-is-in-this-file": true
|
|
61
|
+
}`;
|
|
53
62
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
expect(event.schema.snippet).toMatchMarkdown(schema);
|
|
65
|
+
expect(event.schema.language).toEqual('json');
|
|
66
|
+
});
|
|
58
67
|
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
65
|
-
|
|
71
|
+
const example1 = event.examples[0];
|
|
72
|
+
const example2 = event.examples[1];
|
|
66
73
|
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
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
|
-
|
|
85
|
+
expect(example1.name).toEqual('Basic.cs');
|
|
86
|
+
expect(example1.langugage).toEqual('csharp');
|
|
87
|
+
expect(example1.snippet).toEqual(example1File);
|
|
80
88
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
89
|
+
expect(example2.name).toEqual('Basic.js');
|
|
90
|
+
expect(example2.langugage).toEqual('javascript');
|
|
91
|
+
expect(example2.snippet).toEqual(example2File);
|
|
92
|
+
});
|
|
84
93
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
-
|
|
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
|
-
|
|
144
|
-
|
|
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
|
-
|
|
269
|
+
consumerNames: ['Service 1', 'Service 2'],
|
|
168
270
|
historicVersions: [],
|
|
169
|
-
|
|
271
|
+
producerNames: ['Service 3'],
|
|
170
272
|
},
|
|
171
273
|
{
|
|
172
274
|
name: 'Testing',
|
|
173
275
|
version: '2.0.0',
|
|
174
|
-
|
|
276
|
+
consumerNames: ['Service 2', 'Service 3'],
|
|
175
277
|
historicVersions: [],
|
|
176
|
-
|
|
278
|
+
producerNames: ['Service 4'],
|
|
177
279
|
},
|
|
178
|
-
{ name: 'Testing', version: '3.0.0',
|
|
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
|
-
|
|
202
|
-
|
|
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
|
-
|
|
212
|
-
|
|
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
|
-
|
|
229
|
-
|
|
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
|
-
|
|
250
|
-
|
|
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
|
-
|
|
266
|
-
|
|
391
|
+
producerNames: ['Shopping API', 'Service'],
|
|
392
|
+
consumerNames: ['Customer Portal'],
|
|
267
393
|
historicVersions: [],
|
|
268
394
|
owners: ['dboyne', 'mSmith'],
|
|
269
395
|
},
|