Version 1 of 1 · · Current version

feature
shop-paid

Shop: a paid order takes stock

Paying o-1003 takes one pour-over cone and one decaf off stock, once.

$val o = dom.find (cls = "Order", key = "o-1003")
$send dom.upsert (cls = "Order", entity = o + {status: "paid", stockTaken: false})
$send shop.orderChanged (key = "o-1003")
$val cone = dom.find (cls = "Product", key = "pour-over")
$expect cone.stock == 1
$val decaf = dom.find (cls = "Product", key = "coffee-decaf")
$expect decaf.stock == 2
$val after = dom.find (cls = "Order", key = "o-1003")
$expect after.stockTaken
$send shop.orderChanged (key = "o-1003")
$val again = dom.find (cls = "Product", key = "pour-over")
$expect again.stock == 1