0 $mock::
catalog.addProduct (name, sku)
. (productId=1234)
$when::
cust.addToCart
cart.get
warehouse.check
$ifc:: (payload == "ok") cart.addItem
$ifc:: (payload != "ok") . (error="Not enough items in the inventory")
msg cart.get (customer)
msg cart.addItem (sku, quantity, customer)
$when::
cart.create (app? ?= "diesel", customer, metadata)
. (cart={app:app,id:customer,metadata:metadata,items:[]})
$when::
cart.get (customer)
. (cart=(cart || {id:customer,items:[]}))
0 $mock::
cart.addItem (sku, quantity, customer)
cart.get
. (cart=(cart + {items:{sku:sku,quantity:quantity}}))
$when::
cart.checkout
order.create
ctx.foreach (list=cart[="ite..., item="item"="item", msg="warehouse.check"="warehouse...)
warehouse.check
billing.charge
shipping.package
shipping.send
0 $mock::
cart.total
. (total=45)
msg warehouse.check (productId, quantity)
msg warehouse.reserve (productId, quantity, cartId)
msg warehouse.provision (reservationId)
Let's say we don't have mor than 3 of anything...
0 $mock::
warehouse.check (quantity <= 3)
. (payload="ok")
0 $mock::
warehouse.check (quantity > 3)
. (payload="nok")
0 $mock::
warehouse.reserve (productId, quantity, cartId)
. (reservationId="123")
0 $mock::
warehouse.provision (reservationId)
$ifc:: (reservationId == "123") . (payload="ok")
$ifc:: (reservationId != "123") . (payload="nope")
0 $mock::
warehouse.get (sku, quantity)
.
You need to log in to post a comment!