@eventcatalog/core 0.1.12 → 0.1.16
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 +58 -38
- 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/484.js +572 -0
- package/.next/server/chunks/944.js +89 -53
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app.js +16 -5
- package/.next/server/pages/events/AddedItemToCart/logs.html +1 -1
- package/.next/server/pages/events/AddedItemToCart/v/0.0.1.html +3 -3
- package/.next/server/pages/events/AddedItemToCart/v/0.0.1.json +1 -1
- package/.next/server/pages/events/AddedItemToCart/v/0.0.2.html +3 -3
- package/.next/server/pages/events/AddedItemToCart/v/0.0.2.json +1 -1
- package/.next/server/pages/events/AddedItemToCart.html +4 -22
- package/.next/server/pages/events/AddedItemToCart.json +1 -1
- package/.next/server/pages/events/OrderComplete/logs.html +1 -1
- package/.next/server/pages/events/OrderComplete.html +3 -21
- 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 +3 -21
- 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 +3 -21
- 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 +3 -21
- 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 +3 -21
- 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 +3 -23
- 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 +3 -21
- 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 -20
- package/.next/server/pages/events/ShipmentPrepared.json +1 -1
- package/.next/server/pages/events/[name]/v/[version].js +29 -1
- package/.next/server/pages/events/[name]/v/[version].js.nft.json +1 -1
- package/.next/server/pages/events/[name].js +29 -1
- 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.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.json +1 -1
- package/.next/server/pages/services/Basket Service.html +2 -22
- package/.next/server/pages/services/Basket Service.json +1 -1
- package/.next/server/pages/services/Data Lake.html +2 -24
- package/.next/server/pages/services/Data Lake.json +1 -1
- package/.next/server/pages/services/Payment Service.html +2 -20
- package/.next/server/pages/services/Payment Service.json +1 -1
- package/.next/server/pages/services/Shipping Service.html +2 -28
- package/.next/server/pages/services/Shipping Service.json +1 -1
- package/.next/server/pages/services/[name].js +64 -4
- package/.next/server/pages/services/[name].js.nft.json +1 -1
- package/.next/server/pages/services.html +2 -2
- 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.nft.json +1 -1
- package/.next/server/pages/users/dboyne.html +3 -3
- 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 +14 -0
- package/.next/server/pages/visualiser.js +583 -0
- package/.next/server/pages/visualiser.js.nft.json +1 -0
- package/.next/server/pages/visualiser.json +1 -0
- package/.next/server/pages-manifest.json +1 -0
- package/.next/static/7llqY64OLAlXQNo-YhXyr/_buildManifest.js +1 -0
- package/.next/static/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/_middlewareManifest.js +0 -0
- package/.next/static/7llqY64OLAlXQNo-YhXyr/_ssgManifest.js +1 -0
- package/.next/static/chunks/109-a08539311d3d6672.js +1 -0
- package/.next/static/chunks/178-87f01d17ab32dd4f.js +1 -0
- package/.next/static/chunks/252-08ab418f9b6821dd.js +1 -0
- package/.next/static/chunks/506-12764fcf4b5d93b0.js +1 -0
- package/.next/static/chunks/519-2ec6fc3cdbaa4dc2.js +1 -0
- package/.next/static/chunks/650-343888e13f994a09.js +1 -0
- package/.next/static/chunks/962-20c87db3880df896.js +1 -0
- package/.next/static/chunks/b744740b-229c238b25b9eeac.js +1 -0
- package/.next/static/chunks/pages/_app-6eba1099469a6889.js +1 -0
- package/.next/static/chunks/pages/events/[name]/v/{[version]-f6619ec4056cc70d.js → [version]-33051dbc32f5fe4e.js} +1 -1
- package/.next/static/chunks/pages/events/{[name]-73ecab7171745a3f.js → [name]-813780e7042af288.js} +1 -1
- package/.next/static/chunks/pages/services/[name]-142d7fa515cfc532.js +1 -0
- package/.next/static/chunks/pages/visualiser-0fbd55ba5b1f83ed.js +1 -0
- package/.next/static/chunks/{webpack-2ebfdb1666dac4ad.js → webpack-de66347fdf9ac788.js} +1 -1
- package/.next/static/css/f56eba33afeb64fa.css +3 -0
- package/.next/trace +56 -54
- package/CHANGELOG.md +26 -0
- package/components/Header.tsx +1 -0
- package/components/Mdx/Examples.tsx +27 -27
- package/components/Mdx/NodeGraph/GraphElements.tsx +238 -0
- package/components/Mdx/NodeGraph/GraphLayout.ts +57 -0
- package/components/Mdx/NodeGraph/Node.tsx +15 -0
- package/components/Mdx/NodeGraph/NodeGraph.tsx +180 -0
- package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +98 -0
- package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +104 -0
- package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +995 -0
- package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +81 -0
- package/components/Sidebars/EventSidebar.tsx +7 -0
- package/components/Sidebars/ServiceSidebar.tsx +8 -1
- package/components/SyntaxHighlighter.tsx +18 -10
- package/out/404/index.html +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/AddedItemToCart/logs.json +0 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/AddedItemToCart/v/0.0.1.json +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/AddedItemToCart/v/0.0.2.json +1 -1
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/events/AddedItemToCart.json +1 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/OrderComplete/logs.json +0 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/events/OrderComplete.json +1 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/OrderConfirmed/logs.json +0 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/OrderConfirmed.json +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/OrderRequested/logs.json +0 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/events/OrderRequested.json +1 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/PaymentProcessed/logs.json +0 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/PaymentProcessed.json +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/RemovedItemFromCart/logs.json +0 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/RemovedItemFromCart.json +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/ShipmentDelivered/logs.json +0 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/events/ShipmentDelivered.json +1 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/ShipmentDispatched/logs.json +0 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/ShipmentDispatched.json +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events/ShipmentPrepared/logs.json +0 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/events/ShipmentPrepared.json +1 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/events.json +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/overview.json +1 -1
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/services/Basket Service.json +1 -1
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/services/Data Lake.json +1 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/services/Payment Service.json +1 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/services/Shipping Service.json +1 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/services.json +1 -0
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/users/dboyne.json +1 -0
- package/out/_next/data/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/users/mSmith.json +1 -1
- package/out/_next/data/7llqY64OLAlXQNo-YhXyr/visualiser.json +1 -0
- package/out/_next/static/7llqY64OLAlXQNo-YhXyr/_buildManifest.js +1 -0
- package/out/_next/static/{bMdE5uGdmIhIs9cgTPp_Z → 7llqY64OLAlXQNo-YhXyr}/_middlewareManifest.js +0 -0
- package/out/_next/static/7llqY64OLAlXQNo-YhXyr/_ssgManifest.js +1 -0
- package/out/_next/static/chunks/109-a08539311d3d6672.js +1 -0
- package/out/_next/static/chunks/178-87f01d17ab32dd4f.js +1 -0
- package/out/_next/static/chunks/252-08ab418f9b6821dd.js +1 -0
- package/out/_next/static/chunks/506-12764fcf4b5d93b0.js +1 -0
- package/out/_next/static/chunks/519-2ec6fc3cdbaa4dc2.js +1 -0
- package/out/_next/static/chunks/650-343888e13f994a09.js +1 -0
- package/out/_next/static/chunks/962-20c87db3880df896.js +1 -0
- package/out/_next/static/chunks/b744740b-229c238b25b9eeac.js +1 -0
- package/out/_next/static/chunks/pages/_app-6eba1099469a6889.js +1 -0
- package/out/_next/static/chunks/pages/events/[name]/v/{[version]-f6619ec4056cc70d.js → [version]-33051dbc32f5fe4e.js} +1 -1
- package/out/_next/static/chunks/pages/events/{[name]-73ecab7171745a3f.js → [name]-813780e7042af288.js} +1 -1
- package/out/_next/static/chunks/pages/services/[name]-142d7fa515cfc532.js +1 -0
- package/out/_next/static/chunks/pages/visualiser-0fbd55ba5b1f83ed.js +1 -0
- package/out/_next/static/chunks/{webpack-2ebfdb1666dac4ad.js → webpack-de66347fdf9ac788.js} +1 -1
- package/out/_next/static/css/f56eba33afeb64fa.css +3 -0
- package/out/events/AddedItemToCart/index.html +4 -22
- package/out/events/AddedItemToCart/logs/index.html +1 -1
- package/out/events/AddedItemToCart/v/0.0.1/index.html +3 -3
- package/out/events/AddedItemToCart/v/0.0.2/index.html +3 -3
- package/out/events/OrderComplete/index.html +3 -21
- package/out/events/OrderComplete/logs/index.html +1 -1
- package/out/events/OrderConfirmed/index.html +3 -21
- package/out/events/OrderConfirmed/logs/index.html +1 -1
- package/out/events/OrderRequested/index.html +3 -21
- package/out/events/OrderRequested/logs/index.html +1 -1
- package/out/events/PaymentProcessed/index.html +3 -21
- package/out/events/PaymentProcessed/logs/index.html +1 -1
- package/out/events/RemovedItemFromCart/index.html +3 -21
- package/out/events/RemovedItemFromCart/logs/index.html +1 -1
- package/out/events/ShipmentDelivered/index.html +3 -23
- package/out/events/ShipmentDelivered/logs/index.html +1 -1
- package/out/events/ShipmentDispatched/index.html +3 -21
- package/out/events/ShipmentDispatched/logs/index.html +1 -1
- package/out/events/ShipmentPrepared/index.html +2 -20
- 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 +2 -22
- package/out/services/Data Lake/index.html +2 -24
- package/out/services/Payment Service/index.html +2 -20
- package/out/services/Shipping Service/index.html +2 -28
- package/out/services/index.html +2 -2
- package/out/users/dboyne/index.html +3 -3
- package/out/users/mSmith/index.html +3 -3
- package/out/visualiser/index.html +14 -0
- package/package.json +3 -1
- package/pages/events/[name].tsx +46 -8
- package/pages/services/[name].tsx +37 -1
- package/pages/visualiser.tsx +226 -0
- package/styles/globals.css +4 -0
- package/.next/static/bMdE5uGdmIhIs9cgTPp_Z/_buildManifest.js +0 -1
- package/.next/static/bMdE5uGdmIhIs9cgTPp_Z/_ssgManifest.js +0 -1
- package/.next/static/chunks/178-9b89f5c036d77ab9.js +0 -1
- package/.next/static/chunks/336-7c4681dab353ec23.js +0 -1
- package/.next/static/chunks/519-7c428c1e49c8e614.js +0 -1
- package/.next/static/chunks/650-4004943b2a9623ca.js +0 -1
- package/.next/static/chunks/962-d5070461f6d4a478.js +0 -1
- package/.next/static/chunks/pages/_app-46c2e0f1ff3b4efb.js +0 -1
- package/.next/static/chunks/pages/services/[name]-d8873d29190a6447.js +0 -1
- package/.next/static/css/0b54ec6503b91283.css +0 -3
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/events/AddedItemToCart.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/events/OrderComplete.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/events/OrderRequested.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/events/ShipmentDelivered.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/events/ShipmentPrepared.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/services/Data Lake.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/services/Payment Service.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/services/Shipping Service.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/services.json +0 -1
- package/out/_next/data/bMdE5uGdmIhIs9cgTPp_Z/users/dboyne.json +0 -1
- package/out/_next/static/bMdE5uGdmIhIs9cgTPp_Z/_buildManifest.js +0 -1
- package/out/_next/static/bMdE5uGdmIhIs9cgTPp_Z/_ssgManifest.js +0 -1
- package/out/_next/static/chunks/178-9b89f5c036d77ab9.js +0 -1
- package/out/_next/static/chunks/336-7c4681dab353ec23.js +0 -1
- package/out/_next/static/chunks/519-7c428c1e49c8e614.js +0 -1
- package/out/_next/static/chunks/650-4004943b2a9623ca.js +0 -1
- package/out/_next/static/chunks/962-d5070461f6d4a478.js +0 -1
- package/out/_next/static/chunks/pages/_app-46c2e0f1ff3b4efb.js +0 -1
- package/out/_next/static/chunks/pages/services/[name]-d8873d29190a6447.js +0 -1
- package/out/_next/static/css/0b54ec6503b91283.css +0 -3
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Event, Service } from '@eventcatalog/types';
|
|
2
|
+
import { getEventElements, getServiceElements } from '../GraphElements';
|
|
3
|
+
|
|
4
|
+
jest.mock('next/config', () => () => ({
|
|
5
|
+
publicRuntimeConfig: {
|
|
6
|
+
basePath: '/docs',
|
|
7
|
+
},
|
|
8
|
+
}));
|
|
9
|
+
|
|
10
|
+
describe('GraphElements', () => {
|
|
11
|
+
describe('getServiceElements', () => {
|
|
12
|
+
it('takes a given Service and returns the ReactFlow elements with relations the events it publishes and consumes', () => {
|
|
13
|
+
const event = { name: 'My Event', version: '0.0.1' };
|
|
14
|
+
const event2 = { name: 'My Event 2', version: '0.0.1' };
|
|
15
|
+
const rootNodeColor = '#2563eb';
|
|
16
|
+
const isAnimated = true;
|
|
17
|
+
|
|
18
|
+
const service = {
|
|
19
|
+
id: 'My Service',
|
|
20
|
+
name: 'My Service',
|
|
21
|
+
version: '0.0.1',
|
|
22
|
+
summary: 'Summary',
|
|
23
|
+
publishes: [event],
|
|
24
|
+
subscribes: [event2],
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const result = getServiceElements(service as Service, rootNodeColor, isAnimated);
|
|
28
|
+
|
|
29
|
+
expect(result).toMatchSnapshot();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('takes a given Service and returns the ReactFlow elements with multiple events & long names', () => {
|
|
33
|
+
const event = { name: 'My Event', version: '0.0.1' };
|
|
34
|
+
const event2 = { name: 'My Event 2', version: '0.0.1' };
|
|
35
|
+
const event3 = { name: 'My Event 3', version: '0.0.1' };
|
|
36
|
+
const event4 = { name: 'very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.4', version: '0.0.1' };
|
|
37
|
+
const event5 = { name: 'very very very very very very very very very very very very long name event 5', version: '0.0.1' };
|
|
38
|
+
const event6 = { name: 'My Event 6', version: '0.0.1' };
|
|
39
|
+
const event7 = { name: 'My Event 7', version: '0.0.1' };
|
|
40
|
+
const event8 = { name: 'My Event 8', version: '0.0.1' };
|
|
41
|
+
const event9 = { name: 'My Event 9', version: '0.0.1' };
|
|
42
|
+
const rootNodeColor = '#2563eb';
|
|
43
|
+
const isAnimated = true;
|
|
44
|
+
|
|
45
|
+
const service = {
|
|
46
|
+
id: 'My Service',
|
|
47
|
+
name: 'My Service',
|
|
48
|
+
version: '0.0.1',
|
|
49
|
+
summary: 'Summary',
|
|
50
|
+
publishes: [event, event2, event3, event4],
|
|
51
|
+
subscribes: [event5, event6, event7, event8, event9],
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const result = getServiceElements(service as Service, rootNodeColor, isAnimated);
|
|
55
|
+
|
|
56
|
+
expect(result).toMatchSnapshot();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
describe('getEventElements', () => {
|
|
61
|
+
it('takes a given event and returns the ReactFlow elements with relations between the event and its consumers and producers', () => {
|
|
62
|
+
const event = {
|
|
63
|
+
name: 'My Event',
|
|
64
|
+
version: '0.0.1',
|
|
65
|
+
producers: ['Service 1'],
|
|
66
|
+
consumers: ['Service 2'],
|
|
67
|
+
};
|
|
68
|
+
const rootNodeColor = '#2563eb';
|
|
69
|
+
const isAnimated = true;
|
|
70
|
+
|
|
71
|
+
const result = getEventElements(event as Event, rootNodeColor, isAnimated);
|
|
72
|
+
|
|
73
|
+
expect(result).toMatchSnapshot();
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it('takes a given event and returns the ReactFlow elements with multiple services & long names', () => {
|
|
77
|
+
const event = {
|
|
78
|
+
name: 'My Event',
|
|
79
|
+
version: '0.0.1',
|
|
80
|
+
producers: ['Service 1', 'Service 2', 'very very very very very very very very very very very very long name Service 3'],
|
|
81
|
+
consumers: [
|
|
82
|
+
'Service 4',
|
|
83
|
+
'Service 5',
|
|
84
|
+
'Service 6',
|
|
85
|
+
'Service 7',
|
|
86
|
+
'Service 8',
|
|
87
|
+
'very.very.very.very.very.very.very.very.very.very.very.very.long.name.event.8',
|
|
88
|
+
],
|
|
89
|
+
};
|
|
90
|
+
const rootNodeColor = '#2563eb';
|
|
91
|
+
const isAnimated = true;
|
|
92
|
+
|
|
93
|
+
const result = getEventElements(event as Event, rootNodeColor, isAnimated);
|
|
94
|
+
|
|
95
|
+
expect(result).toMatchSnapshot();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
});
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Elements } from 'react-flow-renderer';
|
|
2
|
+
import createGraphLayout, { calcCanvasHeight } from '../GraphLayout';
|
|
3
|
+
|
|
4
|
+
describe('GraphLayout', () => {
|
|
5
|
+
describe('createGraphLayout', () => {
|
|
6
|
+
it('calculate a graph layout', () => {
|
|
7
|
+
const isHorizontal = true;
|
|
8
|
+
const elements = [
|
|
9
|
+
{
|
|
10
|
+
data: {
|
|
11
|
+
label: 'My Event 2',
|
|
12
|
+
link: '/docs/events/My Event 2',
|
|
13
|
+
maxWidth: 150,
|
|
14
|
+
width: 150,
|
|
15
|
+
},
|
|
16
|
+
id: 's-My_Event_2',
|
|
17
|
+
position: {
|
|
18
|
+
x: 0,
|
|
19
|
+
y: 0,
|
|
20
|
+
},
|
|
21
|
+
style: {
|
|
22
|
+
border: '2px solid #75d7b6',
|
|
23
|
+
width: 150,
|
|
24
|
+
},
|
|
25
|
+
type: 'input',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
data: {
|
|
29
|
+
label: 'My Service',
|
|
30
|
+
link: '/docs/services/My Service',
|
|
31
|
+
maxWidth: 150,
|
|
32
|
+
width: 150,
|
|
33
|
+
},
|
|
34
|
+
id: 'c-My_Service',
|
|
35
|
+
position: {
|
|
36
|
+
x: 0,
|
|
37
|
+
y: 0,
|
|
38
|
+
},
|
|
39
|
+
style: {
|
|
40
|
+
border: '2px solid #2563eb',
|
|
41
|
+
width: 150,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
data: {
|
|
46
|
+
label: 'My Event',
|
|
47
|
+
link: '/docs/events/My Event',
|
|
48
|
+
maxWidth: 150,
|
|
49
|
+
width: 150,
|
|
50
|
+
},
|
|
51
|
+
id: 'p-My_Event',
|
|
52
|
+
position: {
|
|
53
|
+
x: 0,
|
|
54
|
+
y: 0,
|
|
55
|
+
},
|
|
56
|
+
style: {
|
|
57
|
+
border: '2px solid #818cf8',
|
|
58
|
+
width: 150,
|
|
59
|
+
},
|
|
60
|
+
type: 'output',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
animated: true,
|
|
64
|
+
arrowHeadType: 'arrowclosed',
|
|
65
|
+
id: 'ecp-My_Event',
|
|
66
|
+
source: 'c-My_Service',
|
|
67
|
+
target: 'p-My_Event',
|
|
68
|
+
type: 'smoothstep',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
animated: true,
|
|
72
|
+
arrowHeadType: 'arrowclosed',
|
|
73
|
+
id: 'esc-My_Event_2',
|
|
74
|
+
source: 's-My_Event_2',
|
|
75
|
+
target: 'c-My_Service',
|
|
76
|
+
type: 'smoothstep',
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
const result = createGraphLayout(elements as Elements, isHorizontal);
|
|
81
|
+
expect(result).toMatchSnapshot();
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
describe('calcCanvasHeight', () => {
|
|
86
|
+
it('takes all events and calculate the canvas height', () => {
|
|
87
|
+
const data = {
|
|
88
|
+
producers: [1, 2, 3, 4, 5, 6, 7, 8],
|
|
89
|
+
consumers: [1, 2, 3, 4, 5],
|
|
90
|
+
};
|
|
91
|
+
const result = calcCanvasHeight(data, 'event');
|
|
92
|
+
expect(result).toEqual(544);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
it('takes all services and calculate the canvas height', () => {
|
|
96
|
+
const data = {
|
|
97
|
+
publishes: [1, 2, 3, 4, 5, 6, 7, 8, 9],
|
|
98
|
+
subscribes: [1, 2, 3, 4, 5],
|
|
99
|
+
};
|
|
100
|
+
const result = calcCanvasHeight(data, 'service');
|
|
101
|
+
expect(result).toEqual(612);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
});
|