Add `minimum` one-time donation amont to validation error map

This commit is contained in:
Chris Eager 2022-12-02 12:14:38 -06:00 committed by Chris Eager
parent 5fb158635c
commit 2f21e930e2
2 changed files with 17 additions and 7 deletions

View File

@ -777,7 +777,9 @@ public class SubscriptionController {
minCurrencyAmountMajorUnits);
if (minCurrencyAmountMinorUnits.compareTo(amount) > 0) {
throw new BadRequestException(Response.status(Status.BAD_REQUEST)
.entity(Map.of("error", "amount_below_currency_minimum")).build());
.entity(Map.of(
"error", "amount_below_currency_minimum",
"minimum", minCurrencyAmountMajorUnits.toString())).build());
}
}

View File

@ -128,16 +128,24 @@ class SubscriptionControllerTest {
@Test
void testCreateBoostPaymentIntentAmountBelowCurrencyMinimum() {
when(STRIPE_MANAGER.convertConfiguredAmountToStripeAmount(any(), any())).thenReturn(new BigDecimal(250));
when(STRIPE_MANAGER.supportsCurrency("usd")).thenReturn(true);
final Response response = RESOURCE_EXTENSION.target("/v1/subscription/boost/create")
.request()
.post(Entity.json("""
{
"currency": "USD",
"amount": 249,
"level": null
}
"""));
{
"currency": "USD",
"amount": 249,
"level": null
}
"""));
assertThat(response.getStatus()).isEqualTo(400);
assertThat(response.hasEntity()).isTrue();
assertThat(response.readEntity(Map.class))
.isNotNull()
.containsAllEntriesOf(Map.of(
"error", "amount_below_currency_minimum",
"minimum", "2.50"
));
}
@Test