Test Order Amount

You’ll need another couple of test cases to verify the new model. Below you can find the tests and the expected results you can use.

Message 3.1: Evaluate decision `order_amount`; T1, Inventory < 100, High Demand: true (irrelevant), Ordered: false, Expected outcome: 250
{
  "decisionId": "order_amount",
  "variables": "{ \"warehouse_stock_level\": 116, \"orders\": 14, \"spare_parts_reserve\": 10, \"storage_tier\": \"T1\", \"order_placed\": false, \"available_online\": true, \"inventory_trend\": 0 }"
}
Message 3.2: Evaluate decision `order_amount`; T1, Inventory 100, High Demand: false (online, trend 1), Ordered: false, Expected outcome: 0
{
  "decisionId": "order_amount",
  "variables": "{ \"warehouse_stock_level\": 116, \"orders\": 6, \"spare_parts_reserve\": 10, \"storage_tier\": \"T1\", \"order_placed\": false, \"available_online\": true, \"inventory_trend\": 1 }"
}
Message 3.3: Evaluate decision `order_amount`; T1, Inventory 100, High Demand: true (online, trend 0), Ordered: false, Expected outcome: 250
{
  "decisionId": "order_amount",
  "variables": "{ \"warehouse_stock_level\": 116, \"orders\": 6, \"spare_parts_reserve\": 10, \"storage_tier\": \"T1\", \"order_placed\": false, \"available_online\": true, \"inventory_trend\": 0 }"
}
Message 3.4: Evaluate decision `order_amount`; T1, Inventory 100, High Demand: false (not online, trend 0), Ordered: false, Expected outcome: 0
{
  "decisionId": "order_amount",
  "variables": "{ \"warehouse_stock_level\": 116, \"orders\": 6, \"spare_parts_reserve\": 10, \"storage_tier\": \"T1\", \"order_placed\": false, \"available_online\": false, \"inventory_trend\": 0 }"
}
Message 3.5: Evaluate decision `order_amount`; T1, Inventory 149, High Demand: true (not online, trend -2), Ordered: false, Expected outcome: 250
{
  "decisionId": "order_amount",
  "variables": "{ \"warehouse_stock_level\": 165, \"orders\": 6, \"spare_parts_reserve\": 10, \"storage_tier\": \"T1\", \"order_placed\": false, \"available_online\": false, \"inventory_trend\": -2 }"
}
Message 3.6: Evaluate decision `order_amount`; T1, Inventory 150, High Demand: true (online, trend -1), Ordered: false, Expected outcome: 0
{
  "decisionId": "order_amount",
  "variables": "{ \"warehouse_stock_level\": 165, \"orders\": 5, \"spare_parts_reserve\": 10, \"storage_tier\": \"T1\", \"order_placed\": false, \"available_online\": true, \"inventory_trend\": -1 }"
}

Did you get the expected results? Good job!

As you’ve seen, testing the various scenarios for a decision requires a bit of work, but it can easily be done in an automated fashion and allows you to specify complex logic in a very efficient way, ready to be invoked whenever needed. Thanks for helping Bolt Bike take another step on their automation journey!