Before allowing a user to adjust a budget's allowableEncumbrance and allowableExpenditure values, we need to make sure the new limits aren't already exceeded. If they are we must reject the update and return an appropriate error.
- If adjusting allowableEncumbrance, first check that the amount (encumbered + awaitingPayment) isn't already over the new value.
- If adjusting allowableExpenditures, first check that the amount (expended + awaitingPayment) isn't already over the new value.
- The checks described above are put in place
- unit tests are updated
- API tests are updated