diff --git a/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/CheckoutAmountTransactionApplier.java b/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/CheckoutAmountTransactionApplier.java index b7c458c6bd..03e8fa6c35 100644 --- a/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/CheckoutAmountTransactionApplier.java +++ b/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/CheckoutAmountTransactionApplier.java @@ -87,7 +87,11 @@ public void apply( if (transaction.isAll()) { amount = stored.getAmount(); } - + + if (amount.getValue().equals(0)) { + throw new IllegalArgumentException("Amount to checkout must be greater than zero."); + } + ItemCheckout.ItemCheckoutBuilder checkoutBuilder = ItemAmountCheckout.builder() .checkedOutByEntity(interactingEntity.getId()) .item(inventoryItem.getId()) diff --git a/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/SubtractAmountTransactionApplier.java b/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/SubtractAmountTransactionApplier.java index fe0bef6b9e..2aceda62fc 100644 --- a/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/SubtractAmountTransactionApplier.java +++ b/software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/mongo/transactions/appliers/SubtractAmountTransactionApplier.java @@ -89,7 +89,11 @@ public void apply( if(toSubtract == null){ throw new IllegalStateException("Cannot subtract an amount from a null value. Should not get here."); } - + + if (toSubtract.getValue().equals(0)) { + throw new IllegalArgumentException("Amount to subtract must be greater than zero."); + } + stored.subtract(toSubtract); affectedStored.add(stored);