forked from CGM_Public/pretix_original
New check-in features (#3022)
This commit is contained in:
@@ -255,6 +255,7 @@ def test_order_update_allowed_fields(token_client, organizer, event, order):
|
||||
organizer.slug, event.slug, order.code
|
||||
), format='json', data={
|
||||
'comment': 'Here is a comment',
|
||||
'valid_if_pending': True,
|
||||
'custom_followup_at': '2021-06-12',
|
||||
'checkin_attention': True,
|
||||
'email': 'foo@bar.com',
|
||||
@@ -283,6 +284,7 @@ def test_order_update_allowed_fields(token_client, organizer, event, order):
|
||||
assert order.email == 'foo@bar.com'
|
||||
assert order.phone == '+4962219999'
|
||||
assert order.locale == 'de'
|
||||
assert order.valid_if_pending
|
||||
assert order.invoice_address.company == "This is my company name"
|
||||
assert order.invoice_address.name_cached == "John Doe"
|
||||
assert order.invoice_address.name_parts == {'_legacy': 'John Doe'}
|
||||
@@ -540,6 +542,64 @@ def test_position_regenerate_secrets(token_client, organizer, event, order):
|
||||
assert ps != p.secret
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_position_manage_blocks(token_client, organizer, event, order):
|
||||
with scopes_disabled():
|
||||
p = order.positions.first()
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orderpositions/{}/add_block/'.format(
|
||||
organizer.slug, event.slug, p.pk,
|
||||
), format='json', data={
|
||||
'name': 'invalid'
|
||||
}
|
||||
)
|
||||
assert resp.status_code == 400
|
||||
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orderpositions/{}/add_block/'.format(
|
||||
organizer.slug, event.slug, p.pk,
|
||||
), format='json', data={
|
||||
'name': 'admin'
|
||||
}
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
p.refresh_from_db()
|
||||
assert p.blocked == ['admin']
|
||||
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orderpositions/{}/add_block/'.format(
|
||||
organizer.slug, event.slug, p.pk,
|
||||
), format='json', data={
|
||||
'name': 'api:custom'
|
||||
}
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
p.refresh_from_db()
|
||||
assert p.blocked == ['admin', 'api:custom']
|
||||
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orderpositions/{}/remove_block/'.format(
|
||||
organizer.slug, event.slug, p.pk,
|
||||
), format='json', data={
|
||||
'name': 'api:custom'
|
||||
}
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
p.refresh_from_db()
|
||||
assert p.blocked == ['admin']
|
||||
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orderpositions/{}/remove_block/'.format(
|
||||
organizer.slug, event.slug, p.pk,
|
||||
), format='json', data={
|
||||
'name': 'admin'
|
||||
}
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
p.refresh_from_db()
|
||||
assert p.blocked is None
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_resend_link(token_client, organizer, event, order):
|
||||
djmail.outbox = []
|
||||
@@ -1614,6 +1674,8 @@ def test_position_add_and_set_info(token_client, organizer, event, order, questi
|
||||
'order': order.code,
|
||||
'item': item.pk,
|
||||
'attendee_name': 'John Doe',
|
||||
'valid_from': '2022-12-12T12:12:12+00:00',
|
||||
'valid_until': '2022-12-12T13:12:12+00:00',
|
||||
'answers': [
|
||||
{
|
||||
'question': question.pk,
|
||||
@@ -1635,6 +1697,27 @@ def test_position_add_and_set_info(token_client, organizer, event, order, questi
|
||||
assert op.positionid == 3
|
||||
assert op.attendee_name == 'John Doe'
|
||||
assert op.answers.count() == 1
|
||||
assert op.valid_from.isoformat() == '2022-12-12T12:12:12+00:00'
|
||||
assert op.valid_until.isoformat() == '2022-12-12T13:12:12+00:00'
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_position_update_validity(token_client, organizer, event, order, quota, item, subevent):
|
||||
with scopes_disabled():
|
||||
op = order.positions.get()
|
||||
payload = {
|
||||
'valid_from': '2022-12-12T12:12:12+00:00',
|
||||
'valid_until': '2022-12-12T13:12:12+00:00',
|
||||
}
|
||||
resp = token_client.patch(
|
||||
'/api/v1/organizers/{}/events/{}/orderpositions/{}/'.format(
|
||||
organizer.slug, event.slug, op.pk
|
||||
), format='json', data=payload
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
op.refresh_from_db()
|
||||
assert op.valid_from.isoformat() == '2022-12-12T12:12:12+00:00'
|
||||
assert op.valid_until.isoformat() == '2022-12-12T13:12:12+00:00'
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
|
||||
Reference in New Issue
Block a user