Fix #4982 -- API: Do not parse decimal input to float (#5012)

This commit is contained in:
Raphael Michel
2025-04-22 17:36:04 +02:00
committed by GitHub
parent 94671f6f70
commit 025ee6710c
2 changed files with 23 additions and 4 deletions

View File

@@ -1348,6 +1348,26 @@ def test_order_mark_canceled_pending(token_client, organizer, event, order):
assert order.transactions.count() == 4
@pytest.mark.django_db
def test_order_mark_canceled_pending_fee_with_tax(token_client, organizer, event, order, taxrule):
djmail.outbox = []
event.settings.tax_rate_default = taxrule
resp = token_client.post(
'/api/v1/organizers/{}/events/{}/orders/{}/mark_canceled/'.format(
organizer.slug, event.slug, order.code
), data={
'cancellation_fee': '7.00'
}
)
assert resp.status_code == 200
assert resp.data['status'] == Order.STATUS_PENDING
assert len(djmail.outbox) == 1
with scopes_disabled():
of = order.fees.get()
assert of.value == Decimal("7.00")
assert of.tax_rate == taxrule.rate
@pytest.mark.django_db
def test_order_mark_canceled_pending_fee_not_allowed(token_client, organizer, event, order):
djmail.outbox = []