mirror of
https://github.com/pretix/pretix.git
synced 2026-05-03 14:54:04 +00:00
Fix marking an overpaid order as paid manually
This commit is contained in:
@@ -587,6 +587,29 @@ def test_order_mark_paid_blocked(client, env):
|
||||
assert o.status == Order.STATUS_EXPIRED
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_mark_paid_overpaid_exired(client, env):
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_EXPIRED
|
||||
o.expires = now() - timedelta(days=5)
|
||||
o.save()
|
||||
o.payments.create(state=OrderPayment.PAYMENT_STATE_CONFIRMED, amount=o.total * 2)
|
||||
assert o.pending_sum == -1 * o.total
|
||||
q = Quota.objects.create(event=env[0], size=0)
|
||||
q.items.add(env[3])
|
||||
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
response = client.post('/control/event/dummy/dummy/orders/FOO/transition', {
|
||||
'status': 'p',
|
||||
'force': 'on'
|
||||
}, follow=True)
|
||||
assert 'alert-success' in response.rendered_content
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.status == Order.STATUS_PAID
|
||||
assert o.payments.last().amount == 0
|
||||
assert o.pending_sum == -1 * o.total
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_mark_paid_forced(client, env):
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
|
||||
Reference in New Issue
Block a user