Fix #2090 -- Test mode for memberships

This commit is contained in:
Raphael Michel
2021-05-27 11:47:07 +02:00
parent ab30129fc2
commit 49a9b71ea3
21 changed files with 195 additions and 16 deletions

View File

@@ -68,6 +68,7 @@ TEST_MEMBERSHIP_RES = {
"customer": "8WSAJCJ",
"date_start": "2021-04-01T00:00:00Z",
"date_end": "2021-04-08T23:59:59.999999Z",
"testmode": False,
"attendee_name_parts": {
"_scheme": "given_family",
'given_name': 'John',
@@ -136,11 +137,13 @@ def test_membership_patch(token_client, organizer, customer, membership):
format='json',
data={
"customer": other_customer.identifier,
"testmode": True,
}
)
assert resp.status_code == 200
membership.refresh_from_db()
assert membership.customer == customer # change is ignored
assert not membership.testmode # change is ignored
@pytest.mark.django_db

View File

@@ -227,6 +227,44 @@ def test_validate_membership_ensure_locking(event, customer, membership, requiri
assert any('FOR UPDATE' in s['sql'] for s in captured)
@pytest.mark.django_db
def test_validate_membership_test_mode(event, customer, membership, requiring_ticket, membership_type):
with pytest.raises(ValidationError) as excinfo:
membership.testmode = True
membership.save()
validate_memberships_in_order(
customer,
[
CartPosition(
item=requiring_ticket,
used_membership=membership
)
],
event,
lock=False,
ignored_order=None,
testmode=False,
)
assert "test mode" in str(excinfo.value)
with pytest.raises(ValidationError) as excinfo:
membership.testmode = False
membership.save()
validate_memberships_in_order(
customer,
[
CartPosition(
item=requiring_ticket,
used_membership=membership
)
],
event,
lock=False,
ignored_order=None,
testmode=True,
)
assert "test mode" in str(excinfo.value)
@pytest.mark.django_db
def test_validate_membership_wrong_customer(event, customer, membership, requiring_ticket, membership_type):
customer2 = event.organizer.customers.create(email="doe@example.org")