mirror of
https://github.com/pretix/pretix.git
synced 2026-05-03 14:54:04 +00:00
API: Fix crash in order creation (PRETIXEU-9XS)
This commit is contained in:
@@ -2190,6 +2190,33 @@ def test_order_create_with_seat_consumed_from_cart(token_client, organizer, even
|
||||
assert p.seat == seat
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_create_with_voucher_and_price_set(token_client, organizer, event, item, quota, question):
|
||||
with scopes_disabled():
|
||||
voucher = event.vouchers.create(code="FOOBAR", item=item, price_mode="set", value=0, max_usages=3)
|
||||
item.tax_rule = event.tax_rules.create(rate=19, price_includes_tax=False)
|
||||
item.save()
|
||||
res = copy.deepcopy(ORDER_CREATE_PAYLOAD)
|
||||
res['positions'][0]['item'] = item.pk
|
||||
res['positions'][0]['voucher'] = voucher.code
|
||||
res['positions'][0]['price'] = '0.00'
|
||||
res['positions'][0].pop("tax_rate", None)
|
||||
res['positions'][0].pop("tax_rule", None)
|
||||
res['positions'][0].pop("tax_value", None)
|
||||
res['positions'][0]['answers'][0]['question'] = question.pk
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orders/'.format(
|
||||
organizer.slug, event.slug
|
||||
), format='json', data=res
|
||||
)
|
||||
assert resp.status_code == 201
|
||||
with scopes_disabled():
|
||||
o = Order.objects.get(code=resp.data['code'])
|
||||
p = o.positions.first()
|
||||
assert p.voucher == voucher
|
||||
assert p.price == Decimal("0.00")
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_create_with_voucher_consumed_from_cart(token_client, organizer, event, item, quota, question):
|
||||
with scopes_disabled():
|
||||
|
||||
Reference in New Issue
Block a user