# ListShipmentsBySalesOrder

## Overview

ListShipmentsBySalesOrder lists all shipments created for one sales order so fulfillment and billing teams can review shipment history and posted evidence.

## Business Rules

- Sales-order identifier is required.
- Returned result may include draft and posted shipments for the order.

## Process Flow

```mermaid
flowchart TD
    A[Receive sales-order id] --> B[Query shipments by sales order]
    B --> C[Sort shipments by creation or ship date]
    C --> D[Return shipment history]
```

## External Dependencies

- None

## Error Scenarios

- **SALES_ORDER_ID_REQUIRED**: Sales-order id is required.

## Test Cases

- lists shipments under a sales order
- returns both draft and posted shipments when present
- throws when sales-order id is missing
