mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Marking orders as paid now ignores waiting list
This commit is contained in:
@@ -682,6 +682,26 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertEqual(self.order.status, Order.STATUS_PAID)
|
||||
|
||||
def test_paid_expired_unavailable_waiting_list(self):
|
||||
self.event.waitinglistentries.create(item=self.item1, email='foo@bar.com')
|
||||
self.order.expires = now() - timedelta(days=2)
|
||||
self.order.save()
|
||||
self.quota.size = 1
|
||||
self.quota.save()
|
||||
mark_order_paid(self.order, force=True)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertEqual(self.order.status, Order.STATUS_EXPIRED)
|
||||
|
||||
def test_paid_expired_unavailable_waiting_list_ignore(self):
|
||||
self.event.waitinglistentries.create(item=self.item1, email='foo@bar.com')
|
||||
self.order.expires = now() - timedelta(days=2)
|
||||
self.order.save()
|
||||
self.quota.size = 1
|
||||
self.quota.save()
|
||||
mark_order_paid(self.order, force=True, count_waitinglist=False)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertEqual(self.order.status, Order.STATUS_PAID)
|
||||
|
||||
def test_can_modify_answers(self):
|
||||
self.event.settings.set('invoice_address_asked', False)
|
||||
self.event.settings.set('attendee_names_asked', True)
|
||||
|
||||
@@ -466,6 +466,25 @@ def test_order_extend_expired_quota_partial(client, env):
|
||||
assert o.status == Order.STATUS_EXPIRED
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_mark_paid_overdue_quota_blocked_by_waiting_list(client, env):
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_EXPIRED
|
||||
o.expires = now() - timedelta(days=5)
|
||||
o.save()
|
||||
q = Quota.objects.create(event=env[0], size=1)
|
||||
q.items.add(env[3])
|
||||
env[0].waitinglistentries.create(item=env[3], email='foo@bar.com')
|
||||
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
response = client.post('/control/event/dummy/dummy/orders/FOO/transition', {
|
||||
'status': 'p'
|
||||
}, follow=True)
|
||||
assert 'alert-success' in response.rendered_content
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.status == Order.STATUS_PAID
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_go_lowercase(client, env):
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
|
||||
Reference in New Issue
Block a user