API: Fix locale accidentally being a required field

This commit is contained in:
Raphael Michel
2025-02-12 17:55:30 +01:00
parent 59a8f18573
commit 4ad9bcf6e7
4 changed files with 40 additions and 2 deletions

View File

@@ -622,6 +622,23 @@ def test_order_create_sales_channel_invalid(token_client, organizer, event, item
assert resp.data == {'sales_channel': ['Object with identifier=foo does not exist.']}
@pytest.mark.django_db
def test_order_create_locale_optional(token_client, organizer, event, item, quota, question):
event.settings.locale = "de"
event.settings.locales = ["en", "de"]
res = copy.deepcopy(ORDER_CREATE_PAYLOAD)
del res['locale']
res['positions'][0]['item'] = item.pk
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
assert resp.data["locale"] == event.settings.locale
@pytest.mark.django_db
def test_order_create_locale_invalid(token_client, organizer, event, item, quota, question):
res = copy.deepcopy(ORDER_CREATE_PAYLOAD)

View File

@@ -469,3 +469,21 @@ def test_wle_send_voucher_unavailable(token_client, organizer, event, item, wle,
assert resp.status_code == 400
wle.refresh_from_db()
assert not wle.voucher
@pytest.mark.django_db
def test_wle_locale_optional(token_client, organizer, event, item, quota):
event.settings.locale = "de"
event.settings.locales = ["en", "de"]
quota.size = 0
quota.save()
wle = create_wle(
token_client, organizer, event,
data={
'email': 'testdummy@pretix.eu',
'item': item.pk,
'variation': None,
'subevent': None
},
)
assert wle.locale == "de"