@reventlessdev/online-shop-aggregates-ordering 3.0.0-alpha.237 → 3.0.0-alpha.239
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/CHANGELOG.md +16 -0
- package/lib/bs/.compiler.log +2 -2
- package/lib/bs/compiler-info.json +1 -1
- package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts.res +0 -1
- package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections.ast +0 -0
- package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections.res +2 -4
- package/lib/bs/src/Customer/Aggregate/Customer-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/Aggregate/Customer-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/Aggregate/Customer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/Aggregate/Customer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/ReadModel/Customers-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/ReadModel/Customers-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/ReadModel/Customers.res +0 -1
- package/lib/bs/src/Customer/ReadModel/Customers_Projections-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/ReadModel/Customers_Projections-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/ReadModel/Customers_Projections.ast +0 -0
- package/lib/bs/src/Customer/ReadModel/Customers_Projections.res +1 -2
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.ast +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res +11 -14
- package/lib/bs/src/LifecycleModel-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/LifecycleModel-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/LifecycleModel.ast +0 -0
- package/lib/bs/src/LifecycleModel.res +28 -4
- package/lib/bs/src/Order/Aggregate/Order-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/Aggregate/Order-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/Aggregate/Order_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/Aggregate/Order_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/Aggregate/Order_Behavior.ast +0 -0
- package/lib/bs/src/Order/Aggregate/Order_Behavior.res +1 -2
- package/lib/bs/src/Order/Aggregate/Order_Mappings-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/Aggregate/Order_Mappings-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/ReadModel/Orders-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/ReadModel/Orders-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/ReadModel/Orders.res +0 -1
- package/lib/bs/src/Order/ReadModel/Orders_Projections-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/ReadModel/Orders_Projections-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/ReadModel/Orders_Projections.ast +0 -0
- package/lib/bs/src/Order/ReadModel/Orders_Projections.res +4 -7
- package/lib/bs/src/Order/SideEffect/Order_EmailNotification-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/SideEffect/Order_EmailNotification-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/SideEffect/Order_EmailNotification.ast +0 -0
- package/lib/bs/src/Order/SideEffect/Order_EmailNotification.res +1 -4
- package/lib/bs/src/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Plugin.ast +0 -0
- package/lib/bs/src/Plugin.res +34 -12
- package/lib/bs/src/Task/OrderNotifications-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Task/OrderNotifications-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Task/OrderNotifications.ast +0 -0
- package/lib/bs/src/Task/OrderNotifications.res +1 -1
- package/lib/bs/tests/CatalogProduct/Aggregate/CatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/Aggregate/CatalogProduct_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/CatalogProduct/ReadModel/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/ReadModel/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/Aggregate/Customer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/Aggregate/Customer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/Aggregate/Customer_GWT.ast +0 -0
- package/lib/bs/tests/Customer/Aggregate/Customer_GWT.res +3 -12
- package/lib/bs/tests/Customer/ReadModel/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/ReadModel/Customers_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.ast +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +3 -9
- package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT.ast +0 -0
- package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT.res +1 -3
- package/lib/bs/tests/Order/Aggregate/Order_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/Aggregate/Order_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/ReadModel/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/ReadModel/Orders_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/SideEffect/EmailService_Mock-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/SideEffect/EmailService_Mock-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/.compiler.log +2 -2
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts.res +0 -1
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts_Projections-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_Projections-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts_Projections.ast +0 -0
- package/lib/ocaml/AvailableProducts_Projections.res +2 -4
- package/lib/ocaml/CatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CatalogProduct_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customer-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customer-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customer_GWT.ast +0 -0
- package/lib/ocaml/Customer_GWT.res +3 -12
- package/lib/ocaml/Customers-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers.res +0 -1
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers_Projections-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_Projections-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers_Projections.ast +0 -0
- package/lib/ocaml/Customers_Projections.res +1 -2
- package/lib/ocaml/EmailService_Mock-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/EmailService_Mock-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/LifecycleModel-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/LifecycleModel-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/LifecycleModel.ast +0 -0
- package/lib/ocaml/LifecycleModel.res +28 -4
- package/lib/ocaml/Order-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Order-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderMappings_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/OrderMappings_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderMappings_GWT.ast +0 -0
- package/lib/ocaml/OrderMappings_GWT.res +1 -3
- package/lib/ocaml/OrderNotifications-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/OrderNotifications-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderNotifications.ast +0 -0
- package/lib/ocaml/OrderNotifications.res +1 -1
- package/lib/ocaml/Order_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Order_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Order_Behavior.ast +0 -0
- package/lib/ocaml/Order_Behavior.res +1 -2
- package/lib/ocaml/Order_EmailNotification-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Order_EmailNotification-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Order_EmailNotification.ast +0 -0
- package/lib/ocaml/Order_EmailNotification.res +1 -4
- package/lib/ocaml/Order_EmailNotification_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Order_EmailNotification_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Order_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Order_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Order_Mappings-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Order_Mappings-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders.res +0 -1
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping.ast +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping.res +11 -14
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT.ast +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT.res +3 -9
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_Projections-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_Projections-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_Projections.ast +0 -0
- package/lib/ocaml/Orders_Projections.res +4 -7
- package/lib/ocaml/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Plugin.ast +0 -0
- package/lib/ocaml/Plugin.res +34 -12
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
- package/package.json +9 -9
- package/src/CatalogProduct/ReadModel/AvailableProducts.res +0 -1
- package/src/CatalogProduct/ReadModel/AvailableProducts_Projections.res +2 -4
- package/src/Customer/ReadModel/Customers.res +0 -1
- package/src/Customer/ReadModel/Customers_Projections.res +1 -2
- package/src/ExtensionPoint/Orders_ExtensionPointMapping.res +11 -14
- package/src/LifecycleModel.res +28 -4
- package/src/Order/Aggregate/Order_Behavior.res +1 -2
- package/src/Order/ReadModel/Orders.res +0 -1
- package/src/Order/ReadModel/Orders_Projections.res +4 -7
- package/src/Order/SideEffect/Order_EmailNotification.res +1 -4
- package/src/Plugin.res +34 -12
- package/src/Task/OrderNotifications.res +1 -1
- package/tests/Customer/Aggregate/Customer_GWT.res +3 -12
- package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +3 -9
- package/tests/Order/Aggregate/OrderMappings_GWT.res +1 -3
package/src/Plugin.res
CHANGED
|
@@ -14,14 +14,13 @@ module Make = (Platform: ReventlessInfra.Platform.T) => {
|
|
|
14
14
|
Customer_Behavior,
|
|
15
15
|
ReventlessInfra.NoEventMappings.Make(Customer),
|
|
16
16
|
)
|
|
17
|
-
module OrderAggregate = Platform.Aggregate.Make(
|
|
18
|
-
Order,
|
|
19
|
-
Order_Behavior,
|
|
20
|
-
Order_Mappings,
|
|
21
|
-
)
|
|
17
|
+
module OrderAggregate = Platform.Aggregate.Make(Order, Order_Behavior, Order_Mappings)
|
|
22
18
|
|
|
23
19
|
// ReadModels
|
|
24
|
-
module AvailableProductsReadModel = Platform.ReadModel.Make(
|
|
20
|
+
module AvailableProductsReadModel = Platform.ReadModel.Make(
|
|
21
|
+
AvailableProducts,
|
|
22
|
+
AvailableProducts_Projections,
|
|
23
|
+
)
|
|
25
24
|
module CustomersReadModel = Platform.ReadModel.Make(Customers, Customers_Projections)
|
|
26
25
|
module OrdersReadModel = Platform.ReadModel.Make(Orders, Orders_Projections)
|
|
27
26
|
|
|
@@ -36,11 +35,26 @@ module Make = (Platform: ReventlessInfra.Platform.T) => {
|
|
|
36
35
|
|
|
37
36
|
let pluginStructure = Platform.Plugin.makePluginDefinition(
|
|
38
37
|
~name="Ordering",
|
|
39
|
-
~aggregates=[
|
|
40
|
-
|
|
38
|
+
~aggregates=[
|
|
39
|
+
module(CatalogProductAggregate),
|
|
40
|
+
module(CustomerAggregate),
|
|
41
|
+
module(OrderAggregate),
|
|
42
|
+
],
|
|
43
|
+
~readModels=[
|
|
44
|
+
module(AvailableProductsReadModel),
|
|
45
|
+
module(CustomersReadModel),
|
|
46
|
+
module(OrdersReadModel),
|
|
47
|
+
],
|
|
41
48
|
~extensions=[module(Products_Extension)],
|
|
42
49
|
~extensionPoints=[module(Orders_ExtensionPointMapping)],
|
|
43
|
-
~componentChapters=Dict.fromArray([
|
|
50
|
+
~componentChapters=Dict.fromArray([
|
|
51
|
+
("AvailableProducts", "CatalogProduct"),
|
|
52
|
+
("CatalogProduct", "CatalogProduct"),
|
|
53
|
+
("Customer", "Customer"),
|
|
54
|
+
("Customers", "Customer"),
|
|
55
|
+
("Order", "Order"),
|
|
56
|
+
("Orders", "Order"),
|
|
57
|
+
]),
|
|
44
58
|
~lifecycleModel=LifecycleModel.model,
|
|
45
59
|
)
|
|
46
60
|
|
|
@@ -50,10 +64,18 @@ module Make = (Platform: ReventlessInfra.Platform.T) => {
|
|
|
50
64
|
~heartbeatInterval=5,
|
|
51
65
|
~extensionPoints=[module(Orders_ExtensionPoint)],
|
|
52
66
|
~extensions=[module(Products_Extension)],
|
|
53
|
-
~aggregates=[
|
|
54
|
-
|
|
67
|
+
~aggregates=[
|
|
68
|
+
module(CatalogProductAggregate),
|
|
69
|
+
module(CustomerAggregate),
|
|
70
|
+
module(OrderAggregate),
|
|
71
|
+
],
|
|
72
|
+
~readModels=[
|
|
73
|
+
module(AvailableProductsReadModel),
|
|
74
|
+
module(CustomersReadModel),
|
|
75
|
+
module(OrdersReadModel),
|
|
76
|
+
],
|
|
55
77
|
~tasks=[module(OrderNotificationsTask)],
|
|
56
|
-
~pluginStructure
|
|
78
|
+
~pluginStructure,
|
|
57
79
|
~uiFragments=?uiBundleUrl->Option.map(url =>
|
|
58
80
|
Platform.Plugin.makeAutoUIManifest(
|
|
59
81
|
~remoteEntryUrl=url,
|
|
@@ -14,10 +14,7 @@ describe("Customer Behavior", () => {
|
|
|
14
14
|
)
|
|
15
15
|
|
|
16
16
|
test("Register on deactivated aggregate returns CustomerAlreadyDeactivated", () =>
|
|
17
|
-
givenEvents([
|
|
18
|
-
Registered({email: "alice@example.com", address: "123 Main St"}),
|
|
19
|
-
Deactivated,
|
|
20
|
-
])
|
|
17
|
+
givenEvents([Registered({email: "alice@example.com", address: "123 Main St"}), Deactivated])
|
|
21
18
|
->whenCmd(Register({email: "bob@example.com", address: "456 Oak Ave"}))
|
|
22
19
|
->thenError(CustomerAlreadyDeactivated)
|
|
23
20
|
)
|
|
@@ -41,10 +38,7 @@ describe("Customer Behavior", () => {
|
|
|
41
38
|
)
|
|
42
39
|
|
|
43
40
|
test("UpdateEmail on deactivated customer returns CustomerAlreadyDeactivated", () =>
|
|
44
|
-
givenEvents([
|
|
45
|
-
Registered({email: "alice@example.com", address: "123 Main St"}),
|
|
46
|
-
Deactivated,
|
|
47
|
-
])
|
|
41
|
+
givenEvents([Registered({email: "alice@example.com", address: "123 Main St"}), Deactivated])
|
|
48
42
|
->whenCmd(UpdateEmail({email: "bob@example.com"}))
|
|
49
43
|
->thenError(CustomerAlreadyDeactivated)
|
|
50
44
|
)
|
|
@@ -80,10 +74,7 @@ describe("Customer Behavior", () => {
|
|
|
80
74
|
)
|
|
81
75
|
|
|
82
76
|
test("Deactivate on deactivated customer produces no events (idempotent)", () =>
|
|
83
|
-
givenEvents([
|
|
84
|
-
Registered({email: "alice@example.com", address: "123 Main St"}),
|
|
85
|
-
Deactivated,
|
|
86
|
-
])
|
|
77
|
+
givenEvents([Registered({email: "alice@example.com", address: "123 Main St"}), Deactivated])
|
|
87
78
|
->whenCmd(Deactivate)
|
|
88
79
|
->thenNoEvent
|
|
89
80
|
)
|
|
@@ -13,21 +13,15 @@ describe("Orders ExtensionPoint mapping — per-product fan-out", () => {
|
|
|
13
13
|
)
|
|
14
14
|
|
|
15
15
|
test("Cancelled fans out to one ItemOrderCancelled per product", () =>
|
|
16
|
-
whenDelegateEvent(
|
|
17
|
-
Delegate.Cancelled({productIds: ["p1", "p2"]}),
|
|
18
|
-
)->thenPublishesEvents([
|
|
16
|
+
whenDelegateEvent(Delegate.Cancelled({productIds: ["p1", "p2"]}))->thenPublishesEvents([
|
|
19
17
|
("p1", ExtensionPoint.ItemOrderCancelled({productId: "p1", orderId: "gwt-id"})),
|
|
20
18
|
("p2", ExtensionPoint.ItemOrderCancelled({productId: "p2", orderId: "gwt-id"})),
|
|
21
19
|
])
|
|
22
20
|
)
|
|
23
21
|
|
|
24
|
-
test("Shipped publishes nothing", () =>
|
|
25
|
-
whenDelegateEvent(Delegate.Shipped)->thenPublishesNothing
|
|
26
|
-
)
|
|
22
|
+
test("Shipped publishes nothing", () => whenDelegateEvent(Delegate.Shipped)->thenPublishesNothing)
|
|
27
23
|
|
|
28
24
|
test("Refunded publishes nothing", () =>
|
|
29
|
-
whenDelegateEvent(
|
|
30
|
-
Delegate.Refunded({reason: "customer-changed-mind"}),
|
|
31
|
-
)->thenPublishesNothing
|
|
25
|
+
whenDelegateEvent(Delegate.Refunded({reason: "customer-changed-mind"}))->thenPublishesNothing
|
|
32
26
|
)
|
|
33
27
|
})
|
|
@@ -43,9 +43,7 @@ describe("Order auto-ship mapping (Placed → Ship)", () => {
|
|
|
43
43
|
|
|
44
44
|
test("Refund command does not fire the mapping (only Placed events do)", () =>
|
|
45
45
|
givenSourceEvents([placedEvent, Order.Cancelled({productIds: ["prod-1"]})])
|
|
46
|
-
->andTargetEvents([
|
|
47
|
-
("order-1", [placedEvent, Order.Cancelled({productIds: ["prod-1"]})]),
|
|
48
|
-
])
|
|
46
|
+
->andTargetEvents([("order-1", [placedEvent, Order.Cancelled({productIds: ["prod-1"]})])])
|
|
49
47
|
->whenSourceCmd("order-1", Refund({reason: "customer-changed-mind"}))
|
|
50
48
|
->thenNoTargetEvent
|
|
51
49
|
)
|