| Num | Action | Result | Status |
|---|
| 1. | Create object server | - Check if object server data-structures and objects have been initialized correctly
| CR: UT: |
| 2. | Send order_product to server (Message from customer) with parameters customer, ship_addr, SKU, credit_card | - order_product message handler should be called
- server should send charge_credit_card to payment_service with fields credit_card, amount
| CR: UT: |
| 3. | Send charge_status to server (Message from payment_service) with parameters status = SUCCESS | - charge_status message handler should be called
- server should take action "Locate the Helix Bin containing the product"
- server should send order_product to bin with fields SKU, customer, ship_addr
| CR: UT: |
| 4. | Send invoice to server (Message from courier) with parameters invoice_num, SKU, customer, ship_addr, amount | - invoice message handler should be called
- server should take action "Send e-mail to customer about product shipment"
- server should send payment to payment_service with fields invoice_num, amount
| CR: UT: |
| Num | Action | Result | Status |
|---|
| 1. | Create object server | - Check if object server data-structures and objects have been initialized correctly
| CR: UT: |
| 2. | Send inventory_fallen to server (Message from bin) with parameters SKU | - inventory_fallen message handler should be called
- server should take action "Prepare order for required number of items"
- server should send order_items to order_service with fields SKU, quantity, order_number
| CR: UT: |
| 3. | Send items_received to server (Message from bin) with parameters order_number, SKU, quantity | - items_received message handler should be called
- server should take action "Mark the order as completed"
- server should send payment to payment_service with fields order_num, amount
| CR: UT: |
| Num | Action | Result | Status |
|---|
| 1. | Create object server | - Check if object server data-structures and objects have been initialized correctly
| CR: UT: |
| 2. | Send DefineProduct to server (Message from env_l) with parameters SKU | - DefineProduct message handler should be called
| CR: UT: |
| 3. | Send SetupBin to server (Message from env_l) with parameters SKU, HelixBin | - SetupBin message handler should be called
| CR: UT: |
| 4. | Send SetupRouter to server (Message from env_l) with parameters HelixRouter | - SetupRouter message handler should be called
- server should send product_setup to bin with fields SKU, inventory_thresholds, routing_table
| CR: UT: |
| 5. | Send product_setup_ack to server (Message from bin) | - product_setup_ack message handler should be called
- server should send routing_updates to router with fields HelixBin, conveyor_belt
| CR: UT: |
| 6. | Send routing_ack to server (Message from router) | - routing_ack message handler should be called
- server should send start_operation to bin
| CR: UT: |
| 7. | Send inventory_fallen to server (Message from bin) with parameters SKU | - inventory_fallen message handler should be called
| CR: UT: |