| adjustStock(String, Long, Long, long, String) |   | 84% |   | 40% | 5 | 6 | 6 | 41 | 0 | 1 |
| getActiveWarehouseByCode(String) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| normalizeItems(List) |   | 76% |   | 58% | 5 | 7 | 3 | 13 | 0 | 1 |
| listWarehouses() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| reserve(InventoryModels.ReserveInventoryCommand) |   | 96% |   | 83% | 3 | 10 | 2 | 58 | 0 | 1 |
| releaseReservation(String, ReservationStatus, boolean) |   | 92% |   | 87% | 2 | 9 | 2 | 28 | 0 | 1 |
| findExpiredReservationNumbers(int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sha256(String) |   | 61% | | n/a | 0 | 1 | 2 | 4 | 0 | 1 |
| writeJson(Object) |   | 41% | | n/a | 0 | 1 | 2 | 3 | 0 | 1 |
| confirmReservation(String) |   | 96% |   | 90% | 1 | 6 | 1 | 26 | 0 | 1 |
| rollbackReserved(Long, List, Instant) |   | 82% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| requireBalance(Long, Long) |   | 80% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| getReservation(String) |   | 78% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| requireActiveWarehouse(Long) |   | 76% |   | 50% | 2 | 3 | 1 | 4 | 0 | 1 |
| requireLockedReservation(String) |   | 64% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| requireReserved(InventoryReservationEntity) |   | 58% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| requireUpdated(int) |   | 44% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| appendOutboxEvent(String, String, String, int, Map, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 25 | 0 | 1 |
| insertMovement(String, Long, Long, String, MovementType, long, InventoryBalanceEntity, String, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 |
| reservationHash(InventoryModels.ReserveInventoryCommand, List) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| createWarehouse(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| appendReservationEvent(InventoryReservationEntity, String, List, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 |
| getStockSummary(Long) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| InventoryService(WarehouseMapper, InventoryBalanceMapper, StockAdjustmentMapper, InventoryReservationMapper, InventoryReservationItemMapper, StockMovementMapper, OutboxEventMapper, ObjectMapper) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| reservationView(InventoryReservationEntity) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| stockPosition(InventoryBalanceEntity) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| warehouseView(WarehouseEntity) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| transitionReservation(InventoryReservationEntity, ReservationStatus, Instant) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| reservationItems(Long) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$normalizeItems$1(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| requireSameHash(String, String) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| lambda$reservationView$4(InventoryReservationItemEntity) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$toCommands$3(InventoryReservationItemEntity) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$appendReservationEvent$0(InventoryModels.ReservationLineCommand) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStockPosition(Long, Long) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| releaseReservation(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| expireReservation(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| toCommands(List) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| movementNo(String, MovementType, Long) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$reservationHash$2(InventoryModels.ReservationLineCommand) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |